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

java獲取類名的方法詳解

 更新時間:2022年07月18日 16:47:24   作者:悟空不買菜了  
這篇文章主要介紹了java獲取類名的問題詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

如果我們要獲取當前運行的類名,怎么來獲?。?/p>

在Class類中,有如下一個方法:

比如現(xiàn)在有一個類Demo7.java

package pxx.test1;
 
public class Demo7 {
    public static void main(String[] args) {
        Demo7 demo7 = new Demo7();
        System.out.println(demo7.getClass().getName());
    }
}

運行結(jié)果:

上面就是直接這個對象調(diào)用了getClass()得到了Class對象,然后調(diào)用getName()得到運行類名。

那么假如一個類繼承了一個類,又怎么獲取當前類名還有父類名呢

Demo8.java

package pxx.test1;
 
public class Demo8 {
    int num;
    String name;
    public Demo8(){};
}

Demo9.java

package pxx.test1;
 
public class Demo9 extends Demo8 {
    public void test() {
        System.out.println(super.getClass().getName());
    }
    public static void main(String[] args) {
        new Demo9().test();
    }
}

上面我們就用super調(diào)用了一個getClass()方法,然后又來獲取類名,這里需要注意的是super只能調(diào)用父類的非靜態(tài)方法,并且不能在static方法中調(diào)用,因為super與this一樣,是基于對象操作的。說回來,這里調(diào)用父類的getClass(),因此想來得到父類的類名,好了,運行一下

還是拿不到父類的類名 ,那我們?nèi)タ匆幌逻@個geClass()方法,這個方法在Object對象里面

 原來這個方法是一個final,也就是說,這個方法被其他類繼承可以,但是不能被重寫,因此,this.getClass與super.getClass最終調(diào)用的都是Object類中的getClass方法,而這個方法的定義是返回Object的運行時類,所以,上面會返回自己的類名而不是父類名。

那么怎么獲取父類的名字呢?

我們?nèi)サ紺lass類里面去看一下,發(fā)現(xiàn)有下面這個方法:

上面這個意思也就是說,會返回這個當前調(diào)用類的父類,拿到父類之后我們依然可以用getName()來獲取名字,上代碼

package pxx.test1;
public class Demo9 extends Demo8 {
    public void test() {
        System.out.println(super.getClass().getSuperclass().getName());
    }
    public static void main(String[] args) {
        new Demo9().test();
 
    }
}

 運行結(jié)果:

這樣就拿到了父類的類名 

到此這篇關(guān)于java獲取類名的問題詳解的文章就介紹到這了,更多相關(guān)java獲取類名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring事務(wù)失效的場景梳理總結(jié)

    Spring事務(wù)失效的場景梳理總結(jié)

    實際項目開發(fā)中,如果涉及到多張表操作時,為了保證業(yè)務(wù)數(shù)據(jù)的一致性,大家一般都會采用事務(wù)機制,好多小伙伴可能只是簡單了解一下,遇到事務(wù)失效的情況,便會無從下手,下面這篇文章主要給大家介紹了關(guān)于Spring事務(wù)失效場景的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Java數(shù)據(jù)結(jié)構(gòu)之加權(quán)無向圖的設(shè)計實現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之加權(quán)無向圖的設(shè)計實現(xiàn)

    加權(quán)無向圖是一種為每條邊關(guān)聯(lián)一個權(quán)重值或是成本的圖模型。這種圖能夠自然地表示許多應(yīng)用。這篇文章主要介紹了加權(quán)無向圖的設(shè)計與實現(xiàn),感興趣的可以了解一下
    2022-11-11
  • Java?Web開發(fā)環(huán)境配置詳解

    Java?Web開發(fā)環(huán)境配置詳解

    這篇文章主要介紹了Java?Web開發(fā)環(huán)境配置詳解,對初學者是個必備的過程,有需要的可以了解一下
    2016-11-11
  • Java虛擬機JVM棧溢出的問題解決

    Java虛擬機JVM棧溢出的問題解決

    Java虛擬機棧溢出是指在Java程序中,當線程調(diào)用的方法層級過深,導(dǎo)致棧空間溢出的情況,本文就詳細的介紹了下產(chǎn)生的原因以及優(yōu)化,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • 關(guān)于JWT與cookie和token的區(qū)別說明

    關(guān)于JWT與cookie和token的區(qū)別說明

    這篇文章主要介紹了JWT與cookie和token的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java RPC框架過濾器機制原理解析

    Java RPC框架過濾器機制原理解析

    這篇文章主要介紹了Java RPC框架過濾器機制原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Spring BeanDefinition使用介紹

    Spring BeanDefinition使用介紹

    BeanDefinition是Spring框架中非常核心的概念,BeanDefinition是定義Bean的配置元信息接口,Spring根據(jù)BeanDefinition來定義Bean對象,簡單說就是對Bean信息的定義
    2023-01-01
  • swing重繪按鈕為任意形狀圖案的方法

    swing重繪按鈕為任意形狀圖案的方法

    這篇文章主要為大家詳細介紹了swing重繪按鈕為任意形狀圖案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    這篇文章主要介紹了mybatis如何使用Criteria的and和or進行聯(lián)合查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Mybatis-Plus實體類注解方法與mapper層和service層的CRUD方法

    Mybatis-Plus實體類注解方法與mapper層和service層的CRUD方法

    CRUD是指在做計算處理時的增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫。主要被用在描述軟件系統(tǒng)中DataBase或者持久層的基本操作功能,下面讓我們一起看看吧
    2022-03-03

最新評論