本程序定义了3个构造方法,并且这3个构造方法之间可以进行相互调用,即双参构造调用单参构造,单参构造调用无参构造
这样不管调用哪个构造方法都可以进行提示信息的输出。
class Person6 { private String name; // 成员属性 private int age; // 成员属性 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Person6() { // 构造方法重载:无参构造 System.out.println("****一个新的Person类对象实例化*****"); } public Person6(String name) { // 构造方法重载:单参构造 this(); // 调用本类无参构造 this.name = name; // 使用this设置name属性内容 // this() ; //构造方法调用必须放在构造方法的首行,否则不会通过编译器检查,会报错:Constructor call must be the first statement in a constructor } public Person6(String name, int age) { // 构造方法重载:双参构造 this(name); // 调用本类单参构造 this.age = age; // 使用this设置age属性内容 } public void tell() { System.out.println("姓名:" + this.name + "、年龄" + this.age); //使用this明确标注出操作的是本类成员属性 } } public class ThisDiaoYongBenLeiGouZaoFangFa { public static void main(String[] args) { Person6 per = new Person6("张三", 13); //实例化person对象 per.tell(); } }