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對象