詳解java中this.getClass()和super.getClass()的實例
詳解java中this.getClass()和super.getClass()的實例
前言:
遇到this.getClass()和super.getClass()的返回值感到疑惑,經(jīng)過探索豁然開朗。
getClass()是java中Object類的一個方法,其原型為:
public final Class<?> getClass()
返回值為 當前運行時類的Class對象。
所以寫了一段代碼來說明:
getClass()不受this和super影響,而是有當前的運行類決定的。
代碼如下:
父類:
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)文章
Spring Boot 中的 @PutMapping 注解原理及使用小結(jié)
在本文中,我們介紹了 Spring Boot 中的 @PutMapping 注解,它可以將 HTTP PUT 請求映射到指定的處理方法上,我們還介紹了 @PutMapping 注解的原理以及如何在 Spring Boot 中使用它,感興趣的朋友跟隨小編一起看看吧2023-12-12
SpringBoot整合Echarts實現(xiàn)用戶人數(shù)和性別展示功能(詳細步驟)
這篇文章主要介紹了SpringBoot整合Echarts實現(xiàn)用戶人數(shù)和性別展示,通過數(shù)據(jù)庫設(shè)計、實現(xiàn)數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和控制層的代碼編寫,以及前端頁面的開發(fā),本文詳細地介紹了SpringBoot整合Echarts的實現(xiàn)步驟和代碼,需要的朋友可以參考下2023-05-05
SpringCloud通過Feign傳遞List類型參數(shù)方式
這篇文章主要介紹了SpringCloud通過Feign傳遞List類型參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Flyway詳解及Springboot集成Flyway的詳細教程
Flayway是一款數(shù)據(jù)庫版本控制管理工具,,支持數(shù)據(jù)庫版本自動升級,Migrations可以寫成sql腳本,也可以寫在java代碼里。這篇文章主要介紹了Flyway詳解及Springboot集成Flyway的詳細教程的相關(guān)資料,需要的朋友可以參考下2020-07-07
Transactional注解導致Spring Bean定時任務(wù)失效的解決方法
這篇文章主要介紹了Transactional注解導致Spring Bean定時任務(wù)失效的解決方法,文中通過代碼示例介紹的非常詳細,對大家解決問題有一定的幫助,需要的朋友可以參考下2024-10-10
Spring 事務(wù)事件監(jiān)控及實現(xiàn)原理解析
本文首先會使用實例進行講解Spring事務(wù)事件是如何使用的,然后會講解這種使用方式的實現(xiàn)原理。感興趣的朋友跟隨小編一起看看吧2018-09-09
阿里面試Nacos配置中心交互模型是push還是pull原理解析
這篇文章主要為大家介紹了阿里面試Nacos配置中心交互模型是push還是pull原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
jdk17+springboot使用webservice的踩坑實戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于jdk17+springboot使用webservice踩坑的相關(guān)資料,網(wǎng)上很多教程是基于jdk8的,所以很多在17上面跑不起來,折騰兩天,直接給答案,需要的朋友可以參考下2024-01-01

