Java 构造器
简介
Java 构造器是类的一种特殊方法,它在创建对象时被调用,用于初始化对象的状态。构造器的名称与类的名称相同,并且没有返回值类型。构造器的主要作用是为新创建的对象设置初始值
构造器的类型
默认构造器
如果你没有写一个构造器方法,那么 JAVA 会给你一个默认构造器,默认构造器没有任何参数
public class Person {private String name;private int age;// 默认构造器public Person() {name = "Unknown";age = 0;}
}
有参数构造器
既然有没有参数的构造器,那么肯定就有有参数构造器
public class Person {private String name;private int age;// 带参构造器public Person(String name, int age) {this.name = name;this.age = age;}
}
构造器重载
Java中通过参数列表的不同区别来灵活的实例话不同的对象
public class Person {private String name;private int age;// 默认构造器:无参数public Person() {this.name = "Unknown";this.age = 0;}// 带一个参数的构造器:只传递姓名public Person(String name) {this.name = name;this.age = 0; // 默认年龄为0}// 带两个参数的构造器:传递姓名和年龄public Person(String name, int age) {this.name = name;this.age = age;}// 打印信息的方法public void display() {System.out.println("Name: " + this.name + ", Age: " + this.age);}public static void main(String[] args) {// 创建不同的对象实例Person p1 = new Person(); // 调用默认构造器Person p2 = new Person("Alice"); // 调用带一个参数的构造器Person p3 = new Person("Bob", 25); // 调用带两个参数的构造器// 输出对象信息p1.display(); // Name: Unknown, Age: 0p2.display(); // Name: Alice, Age: 0p3.display(); // Name: Bob, Age: 25}
}
构造器中调用构造器
Java 中可以通过 this 关键字,在构造器中调用构造器,减少代码量
public class Person {private String name;private int age;// 默认构造器:无参数public Person() {// 调用带有两个参数的构造器this("Unknown", 0);}// 带有一个参数的构造器:传递姓名public Person(String name) {// 调用带有两个参数的构造器this(name, 0); // 默认年龄为0}// 带有两个参数的构造器:传递姓名和年龄public Person(String name, int age) {this.name = name;this.age = age;}// 打印信息的方法public void display() {System.out.println("Name: " + this.name + ", Age: " + this.age);}public static void main(String[] args) {// 创建不同的对象实例Person p1 = new Person(); // 调用默认构造器Person p2 = new Person("Alice"); // 调用带一个参数的构造器Person p3 = new Person("Bob", 25); // 调用带两个参数的构造器// 输出对象信息p1.display(); // Name: Unknown, Age: 0p2.display(); // Name: Alice, Age: 0p3.display(); // Name: Bob, Age: 25}
}