Java类的构造方法主要用于初始化对象的状态。构造方法在以下场景中使用:
new
关键字创建一个类的实例时,构造方法会自动被调用。这是构造方法的主要用途。public class MyClass {
private int x;
public MyClass(int x) {
this.x = x;
}
}
MyClass obj = new MyClass(5); // 调用构造方法,传入参数5,初始化obj对象的x值为5
public class MyClass {
private int x;
private String y;
public MyClass(int x) {
this(x, "default");
}
public MyClass(int x, String y) {
this.x = x;
this.y = y;
}
}
MyClass obj1 = new MyClass(5); // 调用第一个重载构造方法,传入参数5,y值为"default"
MyClass obj2 = new MyClass(5, "custom"); // 调用第二个重载构造方法,传入参数5和"custom",分别初始化x和y值
super
关键字调用父类的构造方法,以便在初始化子类对象时同时初始化父类的状态。public class ParentClass {
private int x;
public ParentClass(int x) {
this.x = x;
}
}
public class ChildClass extends ParentClass {
private String y;
public ChildClass(int x, String y) {
super(x); // 调用父类构造方法,传入参数x,初始化父类状态
this.y = y;
}
}
ChildClass obj = new ChildClass(5, "custom"); // 调用ChildClass构造方法,同时调用父类ParentClass的构造方法
public class MyClass {
private int x;
public MyClass(int x) {
this.x = x;
}
}
List<MyClass> objList = new ArrayList<>();
objList.add(new MyClass(1)); // 使用构造方法创建MyClass对象,并将其添加到列表中
objList.add(new MyClass(2)); // 使用构造方法创建MyClass对象,并将其添加到列表中