Peron4:
package day06.test;
public class Person4 {
public Person4(){
}
public Person4(int age){
this();//调用第3行的方法
this.age=age;//把接收的age传给Person4里面的age
}
public Person4(String name){
this(1);//调用第7行的方法
this.name=name;
}
public Person4(int age,String name){
this.age=age;//this.age说的是下面第23行的int age里的age,也就是当前对象Person4里的age
//相反的,age说的是上面第17行中括号里的age,他是形参
this.name=name;//this.name说的是下面第24行的int name里的name,也就是当前对象Person4里的name
//相反的,name说的也是上面第17行中括号里的name,他也是形参
}
int age;
String name;
//这个方法是为了接收形参name传递给Person4中的name
public void setName(String name){
this.name=name;
}
//先调用上面的setName方法,用下面setName1方法接收的参数name传递给setName
public void setName1(String name){
this.setName(name);
}
public void shouInfo(){
System.out.println("姓名"+this.name);
System.out.println("年龄"+this.age);
}
}
注意1:
当有构造器中有this时,只能将this放在第一行
注意2:
假如一共有4个构造器,那么4个构造器中不能都有this,也就是说不能互相套娃