构造器理解
- 什么是构造器
构造器也叫构造方法;用于对象的初始化;
- 写构造器注意事项
构造器名与类名一致;有返回值但是不能定义返回类型(返回值类型是本类,可以加一个空的return);
- 构造器的调用
通过 new 关键字调用,从而返回类的实例
自我理解成类里面的成员变量,因为C语言学惯了,总有点不适应感悟:我也是通过1、2 段代码的对比理解了构造器
附上代码1:
/**
* 测试构造器(构造方法)
* @author DREAM_yao
* 本代码求两点之间的距离 p点与origin点
*/
class Point{
double x,y;
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point();/*创建一个 点(对象) */
p.x=3;
p.y=4;/*不用构造器,两点通过这种方式初始化*/
Point origin = new Point();
origin.x=0;
origin.y=0;
System.out.println(p.getDistance(origin));
}
}
附上代码2:
/**
* 测试构造器(构造方法)
* @author DREAM_yao
* 本代码求两点之间的距离 p点与origin点
*/
class Point{
double x,y;
/*两种构造器写法*/
/*public Point(double x,double y) {
this.x=x;
this.y=y;
}*/
public Point(double _x, double _y) {
x = _x;
y = _y;
}
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point(3.0,4.0);/*通过将参数传过去,初始化*/
Point origin = new Point(0.0,0.0);
System.out.println(p.getDistance(origin));
}
}
构造器(构造方法的重载)
- 跟方法的重载一样,所有构造器名与类名一致,只是参数的数量不同.
- 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。
- 总之就是让编译器能分辨出来该与哪个方法匹配就ok啦
DREAM_yao : 如果有不正确的地方,请指正!