java中this关键字的用法
1.引用成员变量
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,有些时候可以省略,有些时候不能省略
2 引用构造方法
在一个类的构造方法内部,也可以使用this关键字引用其它的构造方法
3 代表自身对象
在一个类的内部,也可以使用this代表自身类的对象,或者换句话说,每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是this
4 引用成员方法
在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,只是所有这样的引用中this都可以省略
5.在继承体系中
this代表当前自身对象,当子类重写了父类method()方法,子类调用父类,父类用this.method()会调用自己的方法,不用则调用子类的方法
如以下代码:
public boolean contains(Class<?> exType) {
Throwable cause = getCause();
if (cause == this) {
return false;
}
}
getCause()调用的父类方法,返回的是父类的Throwable对象,这个对象是在初始化为父类的this,构造器中可能重新赋值。
如果自定义异常类的this 与 父类的 cause的引用一样,则不正确,因为在自定义异常时会使用 super(msg, cause); 一般不会传this对象