基本概念:
this关键字代表当前对象
使用this关键字引用成员变量
使用this关键字引用成员方法
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,常常用来区分同名的成员变量和局部变量。
public class Demo{
private int a;
public Demo(int a){
this.a = a;
}
public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
}
理解:当成员方法中调用成员变量时会自动在成员变量前面加上this.,当不同的引用调用不同的成员方法时会产生不同的this.,所以this.访问的结果也就不同。
使用方式:
1.当形参变量名和成员变量名相同时,系统一般会选择都默认为形参变量名,当要表示成员变量时就要在变量名前面加this进行说明。
就近原则:当形参变量和成员变量同名时,在构造方法和成员方法中就要考虑就近原则,也就是优先选取近的,一般情况下是选取局部变量为默认。
当使用形参变量给成员变量赋值时,一般选用相同的形参变量名和成员变量名,但是一定要记住:在成员变量前面加this. ,以免系统将同名的形参变量和成员变量通过就近原则全部视为形参变量。
2.在本类中的第一行使用this(实参)的方式可以调用本类中的其它构造方法。
注意:
上面调用本类中的其他构造方法时this(),这里的()内为实参,在构造方法中用this关键字调用其他构造方法时,this()一定要写在构造方法中的第一行。
当一个引用类型变量赋值为null时(也就是他没有指向任何一个对象时),如果通过这个引用访问对应的成员变量或者调用方法时就会产生空指针异常(NullPointerException)。