构造器

构造器,又称构造方法(constructor).  构造器用于构造该类的实例(对象)。

格式如下:

构造方法是一种特殊的方法:

  ①通过new关键字调用!

  ②构造器虽然有返回值,但不能定义返回类型(返回值类型肯定是本类),不能在构造器里调用return。

  ③如果我们没有定义构造器,则系统会自动定义一个无参的构造函数。如果已定义,则编译器不会添加无参的构造器。

  ④构造器的方法名必须和类名一致。

  ⑤作用:构造该类的对象,经常也用来初始化对象的属性。

【例子1】

定义一个“点”(point)类来表示三维空间中的点(有三个坐标)。要求如下:

①可以生成具有特定坐标的点对象;

②提供可以设置三个坐标的方法;

③提供可以计算该“点”距离平方的方法。

 1 public class Point {
 2     double x,y,z;
 3
 4     //构造方法与类名相同
 5     //通过构造方法初始化对象的属性
 6     public Point(double _x,double _y,double _z){
 7         x = _x;
 8         y = _y;
 9         z = _z;
10     }
11
12     public void setX(double _x){
13         x=_x;
14     }
15
16     public void setY(double _y){
17         y=_y;
18     }
19
20     public void setZ(double _z){
21         z=_z;
22     }
23
24     public double distance(Point p) {
25         double result= Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)+(z-p.z)*(z-p.z));//java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根
26         return result;
27     }
28
29     public static void main(String[] args) {
30         //如果我们没有定义构造器,则系统会自动定义一个无参的构造函数。如果已定义,则编译器不会添加无参的构造器。
31 //        Point p=new Point();//如果此处这样写,会报红。
32         Point p=new Point(2, 4, 2);
33         System.out.println(p.x);
34
35         Point p2=new Point(240,40,80);
36         System.out.println(p.distance(p2));
37
38
39     }
40 }

View Code

运行结果:

2.0
253.02964253225352

转载于:https://www.cnblogs.com/Qian123/p/5167528.html

面向对象编程(五)——构造方法相关推荐

  1. c语言面向对象编程显示,c语言面向对象编程

    场景:C语言面向对象编程(6):配置文件解析 C语言面向对象编程(六):配置文件解析 在实际项目中,经常会把软件的某些选项写入配置文件. Windows 平台上的 INI 文件格式简单易用,本篇文章利 ...

  2. 列表怎么有限的初始化为零_《零基础学习Android开发》第五课 类与面向对象编程1-1...

    视频:<零基础学习Android开发>第五课 类与面向对象编程1-1 类的定义.成员变量.构造方法.成员方法 一.从数据与逻辑相互关系审视代码 通过前面的课程,我们不断接触Java语言的知 ...

  3. 《Kotlin 程序设计》第五章 Kotlin 面向对象编程(OOP)

    第五章 Kotlin 面向对象编程(OOP) 正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tut ...

  4. Dave Python 练习十五 -- 面向对象编程

    #encoding=utf-8 ### *************** 面向对象编程 ******************** #*********** Part 1: 面向对象编程 ******** ...

  5. CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想

    面向对象编程思想 1.面向过程 ​ 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确 ...

  6. python学习--关注容易被忽略的知识点--(五)面向对象编程

    本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...

  7. python快速入门【五】---- 面向对象编程、python类

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  8. Python基础学习——面向对象编程(第一讲:面向对象概述、面向对象三个基本特征(封装性、继承性、多态性)、类和对象(定义类、创建和使用对象、实例变量、类变量、构造方法、实例方法、类方法、静态方法))

    面向对象是Python最重要的特性,在Python中一切数据类型都是面向对象的. 1.面向对象概述 面向对象的编程思想是,按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建软件系 ...

  9. C# 面向对象编程(杂2),类中可能出现的成分,字段,属性,方法,自动属性,权限(五种),其他类,值传递和引用传递,类ToString的问题

    C# 面向对象编程(杂2),类中可能出现的成分 1. 字段,属性,方法,自动属性 class Person1 {//字段private string _name;//字段对应的属性public str ...

  10. Python基础十五:面向对象编程四:高级特性

    Python基础十五:面向对象编程四:高级特性 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Em ...

最新文章

  1. 盛大游戏卷入“沙巴克”商标之争
  2. 公有云还能信任吗?Azure遭雷击中断超过一天
  3. 《那些年啊,那些事——一个程序员的奋斗史》——117
  4. CMake 与 Finder
  5. 利用TcpClient TcpListener 实现发送图片
  6. php enable all,php中的enable_dl配置如何有用?
  7. JavaWeb 入门篇(1)Maven创建Web项目 Idea配置tomcat
  8. idea 拉取分支代码
  9. mes系统服务器要求,mes系统 服务器配置
  10. 今天的弹指一瞬间的飞鸽传书
  11. 支付宝、微信收款码明年3月1日起将禁止商用?系误读!
  12. Python XML解析器– ElementTree
  13. Java的GUI学习十一(编程菜单)
  14. Qpython实现命令行的贪吃蛇
  15. c语言汉字属于什么类型_C语言为什么需要定义数据类型
  16. 病毒分析 - 特征码提取
  17. 1.6-程序员必须要会“英语”吗?(会英语在编程中的优势)
  18. 现在你可以通过深度学习用别人的声音来说话了
  19. Eigen零零散散的一些总结
  20. 少年你骨骼精奇?AI现在可以帮你看一看了

热门文章

  1. R语言利器之ddply
  2. 信息安全等级保护工作概述
  3. 苹果 CEO 库克“喜当爹”,被女子索赔31.6亿分手费!
  4. 我们公司不会用分布式事务!
  5. 今天写出一个十分弱智的bug!
  6. 毕业三五年,怎么拿到百万年薪?
  7. Spring知识点简介
  8. 运维成长日记:我是如何走上IT运维这条不归路的
  9. Tomcat 简单容器化
  10. OpenOffice的安装与启动2