this的用法:
目录
1.局部变量和成员变量重复时,用this区分。
例如:setXXX()方法中:this.name = name; 下面来举个简单的例子:这里的setXXX()方法,就是用来区分局部变量和成员变量的。
public class People {
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 static void main(String[] args) {
People people = new People();
people.setName("张三");
people.setAge(20);
System.out.println("姓名:"+people.getName()+" "+"年龄:"+people.getAge());
}
}
输出为:姓名:张三 年龄:20
2.在类或者构造方法中,用this来引用成员变量。
同样的形式,用上述的例子改变一下
public class People {
String name ;
public static void main(String[] args) {
Chinese chinese = new Chinese();
chinese.name = "张三";
chinese.speek();
}
}
class Chinese{
String name;
public void speek(){
System.out.println("姓名:"+this.name); //这里的this就是来引用成员变量的,此时不加this也行
}
}
姓名:张三 年龄:20
3.在一个类中,用this来引用构造函数
public class People {
String name;
int age;
String gender;
People(){ //无参构造函数
}
public People(String name, int age) { //有参构造函数
this.name = name;
this.age = age;
}
public People(String name, int age, String gender) { //有参构造函数
this(name, age); //this调用本类中的构造方法
this.gender = gender;
}
}
4.总结:
(1)表示对当前对象的引用,this关键字代表自身。
(2)表示用类的成员变量,而不是函数参数。
(3)用于在构造方法中引用构造方法。但是只能引用一个构造方法。
(4)this关键字必须放在非静态方法里面。