构造器
构造器,又称构造方法(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