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

