java——构造器理解

构造器理解

  1. 什么是构造器

构造器也叫构造方法;用于对象的初始化

  1. 写构造器注意事项

构造器名与类名一致;有返回值但是不能定义返回类型(返回值类型是本类,可以加一个空的return);

  1. 构造器的调用

通过 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 : 如果有不正确的地方,请指正!

原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12607046.html