Java中this和super的使用

區別

區別點 this super
訪問屬性 訪問本類中的屬性,如果本類沒有,則從父類繼續查找 訪問父類中的屬性
調用方法 訪問本類中的方法,如果本類沒有,則從父類繼續查找 直接訪問父類的方法
調用構造器 訪問本類的構造器,如果本類沒有,則從父類繼續查找 調用父類構造器必須放在自類構造器的首行
特殊 表示當前對象 子類中訪問父類對象

 

 

 

 

 

 

 

 

this

  • this關鍵字可以用來訪問本類的屬性、方法、構造器
  • this用來區分當前類的屬性和局部變量
  • 訪問成員方法的語法:this.方法名()
  • 訪問構造器語法:this(參數列表)    說明:只能在構造器訪問另外一個構造器,this()調用構造器是,必須放在構造器的第一
  • this不能在類定義的外部使用,只能在類定義的方法中使用
  • 簡單一句話總結:this是哪個對象調用的,this就代表哪個對象

super

  • super代表父類的引用,用於訪問父類的屬性、方法、構造器
  • 訪問父類的屬性:super.屬性  ,但不能訪問父類私有的屬性
  • 訪問父類的方法:super.方法名() 不能訪問父類的私有的方法
  • 訪問父類的構造器:super(參數列表) 只能放在構造器的第一句
  • 當子類有父類中的成員指屬性和方法重寫了,為了訪問父類的成員,必須通過super,如果沒有重寫,使用super、this訪問效果一樣