Java中的getClass()以及getName()方法使用
getClass()及getName()方法使用
getClass
public final Class<?> getClass()
返回此 Object 的運(yùn)行時(shí)類(lèi)。返回的 Class 對(duì)象是由所表示類(lèi)的 static synchronized 方法鎖定的對(duì)象。
Java的引用變量有兩個(gè)類(lèi)型,編譯時(shí)類(lèi)型和運(yùn)行時(shí)類(lèi)型。編譯時(shí)類(lèi)型由聲明該變量時(shí)使用的類(lèi)型決定,運(yùn)行時(shí)類(lèi)型由實(shí)際賦給該變量的對(duì)象決定。
public class StudentDemo { public static void main(String[] args) { Student ss = new StudentSon(1, 2); Class a = ss.getClass(); System.out.println(a.getName()); } }
getName
public String getName()
以 String 的形式返回此 Class 對(duì)象所表示的實(shí)體(類(lèi)、接口、數(shù)組類(lèi)、基本類(lèi)型或 void)名稱(chēng)。
實(shí)體:對(duì)象引用的目的地
該類(lèi)運(yùn)行時(shí)類(lèi)型為StudentSon 編譯時(shí)類(lèi)型為Student ,則ss.getClass()返回StudentSon類(lèi)
運(yùn)行結(jié)果:
StudentSon
關(guān)于getClass()與getName()一道題
在??途W(wǎng)上看到的一道題目
package test; import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } }
1.super.getClass() 是父類(lèi)的getClass()方法,其父類(lèi)是Date,它的getClass()方法是繼承自O(shè)bject類(lèi)而且沒(méi)有重寫(xiě)
2.在調(diào)用getName()方法而getName()是:包名+類(lèi)名
所以輸出的是:
test.SuperTest
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決maven打包排除類(lèi)不生效maven-compiler-plugin問(wèn)題
總結(jié):在Spring Boot項(xiàng)目B中作為項(xiàng)目A的依賴(lài)時(shí),排除啟動(dòng)類(lèi)不生效的原因是被其他類(lèi)引用或父POM引入,解決方法是跳過(guò)test編譯或注釋掉@SpringBootTest(classes={BApplication.class})2024-11-11Java流程控制之循環(huán)結(jié)構(gòu)while、do...while
這篇文章主要介紹了Java流程控制之循環(huán)結(jié)構(gòu)while及do...while,文章除了講解循環(huán)結(jié)構(gòu)while和do...while之外,還講解了他們之間的區(qū)別,下面我們就一起進(jìn)入文章講解更多詳細(xì)內(nèi)容吧2021-12-12java之swing實(shí)現(xiàn)復(fù)選框的方法
這篇文章主要介紹了java之swing實(shí)現(xiàn)復(fù)選框的方法,實(shí)例分析了java基于圖形界面復(fù)選框的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09Java持久層框架MyBatis簡(jiǎn)單實(shí)例
MyBatis 本是apache的一個(gè)開(kāi)源項(xiàng)目iBatis, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis 。本文重點(diǎn)給大家介紹Java持久層框架MyBatis簡(jiǎn)單實(shí)例,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-07-07java爬蟲(chóng)Jsoup主要類(lèi)及功能使用詳解
這篇文章主要為大家介紹了java爬蟲(chóng)Jsoup主要類(lèi)及功能使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12關(guān)于Java的動(dòng)態(tài)代理機(jī)制
這篇文章主要介紹了關(guān)于Java的動(dòng)態(tài)代理機(jī)制,動(dòng)態(tài)代理就是,在程序運(yùn)行期,創(chuàng)建目標(biāo)對(duì)象的代理對(duì)象,并對(duì)目標(biāo)對(duì)象中的方法進(jìn)行功能性增強(qiáng)的一種技術(shù),需要的朋友可以參考下2023-05-05Java如何通過(guò)線程解決生產(chǎn)者/消費(fèi)者問(wèn)題
這篇文章主要介紹了Java如何通過(guò)線程解決生產(chǎn)者/消費(fèi)者問(wèn)題,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-10-10Maven熱部署devtools的實(shí)現(xiàn)示例
本文主要介紹了Maven熱部署devtools的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07