this关键词通常会出现在构造函数中
例如:有如下的几个构造函数
public student(){
}
public student(String name){
this.name=name;
}
public student(String name,String stuNo){
this.name=name;
this.stuNo=stuNo;
}
public student(String name,String stuNo,int age){
this.name=name;
this.stuNo=stuNo;
this.age=age;
}
this用来表明参数是当前方法下的参数。
但是这样写代码有重叠的部分,因此可以做出改进。
public student(){
}
public student(String name){
this.name=name;
}
public student(String name,String stuNo){
this(name);
this.stuNo=stuNo;
}
public student(String name,String stuNo,int age){
this(name,stuNo);
this.age=age;
}
构造函数中又调用别的构造函数,代码就减少。使得更加优化。
定义很多构造函数,可能会造成重载的问题。
例如:
我们再加入一个构造函数
public student(String pickname){
this.pickname=pickname;
}
这样就会造成重载。因为前面的代码中已经有了一个String类型的构造函数,再定义一个就会无法识别要构造的是哪一个。
但是我们可以构造一个int型的,就不会出现问题。
例如:
public student(int age){
this.age=age;
}