面向对象编程(五)——构造方法
构造器
构造器,又称构造方法(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 }
运行结果:
2.0 253.02964253225352


浙公网安备 33010602011771号