面向对象 - 构造方法
构造器
-
- 构造器:构造器也叫构造方法(constructor),用于对象的初始化,构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化,构造器的名称应与类的名称一致,Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
编辑器会自动定义一个无参构造函数,如果已手动添加则编辑器不会自动添加,
构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。public class Test{ public static void main(String[] args){ Point p = new Point(3.0, 4.0); //创建Point类的对象,赋值传给Point的double _x,_y Point origin = new Point(0.0, 0.0); //再创建一个Point类的对象,赋值传给Point的double _x,_y System.out.println(p.getDistance(origin)); //计算距离,将origin赋值传给getDistance方法的p } } class Point{ double x,y; // 构造方法必须和类名保持一致 public Point(double _x,double _y) { x = _x; //_x赋值给x y = _y; //_y赋值给y } // 计算二维距离的方法 public double getDistance(Point p) { //这里的Point p用于传入origin的数据 System.out.println("x,y的值:" + x + "\t" + y); System.out.println("p.x,p.y的值:" + p.x + "\t" + p.y); // 这里的x,y是Point类的x,y;p.x, p.y是getDistance方法的x,y return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)); //开方(乘方逆运算),(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)=2点距离 } }
- 构造器的重载:构造方法也是方法,只不过有特殊的作用而已,与普通方法一样,构造方法也可以重载。
public class Test{ int id; String name; String pwd; public static void main(String[] args) { test u1 = new test(); //构造方法1 test u2 = new test(101, "黄泽雨"); //构造方法2 test u3 = new test(100, "老A", "123456"); //构造方法3 } public test() {} //构造方法1 public test(int id, String name) { //构造方法2,方法名称相同,形参列表不用,进行重载 super(); this.id = id; this.name = name; } public test(int id, String name, String pwd) { //构造方法3,方法名称相同,形参列表不用,进行重载 this.id = id; this.name = name; this.pwd = pwd; } }
- 构造器:构造器也叫构造方法(constructor),用于对象的初始化,构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化,构造器的名称应与类的名称一致,Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。