欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解java中this.getClass()和super.getClass()的實例

 更新時間:2017年08月21日 17:01:37   投稿:lqh  
這篇文章主要介紹了詳解java中this.getClass()和super.getClass()的實例的相關(guān)資料,需要的朋友可以參考下

詳解java中this.getClass()和super.getClass()的實例

前言:

遇到this.getClass()和super.getClass()的返回值感到疑惑,經(jīng)過探索豁然開朗。 

getClass()是java中Object類的一個方法,其原型為:       

 public final Class<?> getClass()
                   

  返回值為 當(dāng)前運(yùn)行時類的Class對象。 

所以寫了一段代碼來說明:

  getClass()不受this和super影響,而是有當(dāng)前的運(yùn)行類決定的。 

代碼如下:

父類:

package com.cyou.lijiang_hw; 
 
import java.lang.reflect.ParameterizedType; 
 
public class BaseDAO { 
  public BaseDAO() { 
    System.out.println("==============BaseDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass());  
  } 
} 

 子類:

package com.cyou.lijiang_hw; 
 
public class UserDAO extends BaseDAO<User> { 
  public UserDAO() { 
    System.out.println("\n==============UserDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass()); 
  } 
} 

 測試類:

package com.cyou.lijiang_hw; 
 
public class Test { 
  public static void main(String[] args) { 
    UserDAO userDAO = new UserDAO(); 
  } 
} 

 輸出結(jié)果為:

==============BaseDAO<T> initialization============= 
this.getClass() ---->class com.cyou.lijiang_hw.UserDAO 
super.getClass()---->class com.cyou.lijiang_hw.UserDAO 
 
==============UserDAO initialization============= 
this.getClass() ---->class com.cyou.lijiang_hw.UserDAO 
super.getClass()---->class com.cyou.lijiang_hw.UserDAO 

以上就是詳解java中this.getClass()和super.getClass()的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論