導航:首頁 > 編程語言 > java獲得所有子類

java獲得所有子類

發布時間:2024-03-02 19:56:52

1. java中一個 類.class 發法 獲取的描述類的對象,是 否 可以找到其 所有的子類 的名稱

下面是能判斷是否指定類的子類。但是要想全部查詢。
這個不太可能吧。

Class c = ArrayList.class;
c.isPrimitive(); //判斷c是否為基本數據類型
c.isAssignableFrom(List.class); //判斷c是否是List類的子類或父類
c.getGenericType(); //得到泛型類型

不過呢。你可以看看 eclipse 中的實現。就是你點擊一個類。然後按 F4 就能從 "Type Hierarchy"。就能看到所有子類了。你可以搜搜看。

2. java父類如何獲得所有子類的名稱

java中子類可以獲取父類,是因為java語言規范強制要求所有非object類必須有父類,類在回編譯的時候,父答類唯一確定,編譯器會將父類的引用記錄在class文件裡面。
反過來,編譯器不會給你記錄子類,想要獲取,只能自己根據情況實現。比如在載入一個類的時候添加判斷,或者強制要求這些類滿足特定的條件,通過這個條件去獲取類的名稱

3. 請問java中有沒有方法可以遍歷一個父類的所有子類啊

你要的就是通過類名實例化類吧,這個:str為類名稱,返回的Object強制轉化一下就行。
public Object NewClass(String str) {
Object obj = null;
try {
obj = Class.forName(str).newInstance();
}catch(Exception ex) {
e.printStackTrace();
}
return obj;
}

4. java 父類如何在運行期動態獲取子類類名

給你寫了3個類:

A類:

packagecn.test;
publicclassA{
publicvoidtest(){
System.out.println(this.getClass());
System.out.println(this.getClass().getSimpleName());
System.out.println(this.getClass().getName());
}
}

B類:

packagecn.test;
publicclassBextendsA{

}

Test類:

packagecn.test;
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Bb=newB();
b.test();
}
}

結果:

class cn.test.B
B
cn.test.B
你要知道,在繼承關系中,不管父類還是子類,這些類裡面的this都代表了最終new出來時的那個類型的實例對象,所以在父類中你可以中this獲取到子類的信息!

不止一層繼承關系時,你可以根據下面:

A類:

packagecn.test;
publicclassA{
publicvoidtest(){
System.out.println(this.getClass());
System.out.println(this.getClass().getSimpleName());
System.out.println(this.getClass().getName());
System.out.println(this.getClass().getSuperclass());
System.out.println(this.getClass().getSuperclass().getSimpleName());
System.out.println(this.getClass().getSuperclass().getName());
}
}

B類:

packagecn.test;
publicclassBextendsA{
B(){
//System.out.println("B......");
}
}

C類:

packagecn.test;
publicclassCextendsB{
C(){
//System.out.println("C...........");
}
}

Test類:

packagecn.test;
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Cc=newC();
c.test();
}
}

結果:

class cn.test.C
C
cn.test.C
class cn.test.B
B
cn.test.B

閱讀全文

與java獲得所有子類相關的資料

熱點內容
匯編程序員可見是什麼意思 瀏覽:779
magicemu是什麼文件夾 瀏覽:197
蘋果6p升級後卡刷機有用嗎 瀏覽:816
hhi分析的什麼數據指標 瀏覽:705
蘋果文件word文檔 瀏覽:119
網路力量大是什麼原因 瀏覽:449
蘋果電腦編輯文件在哪裡設置 瀏覽:91
java基本類型數組拼接 瀏覽:330
網頁嵌套靜態數據文件 瀏覽:487
圓弧長弦長計算用什麼APP 瀏覽:403
獨占方式鎖定此配置文件失敗 瀏覽:256
手機word文件在哪裡可以找到 瀏覽:741
linux支持exe嗎 瀏覽:672
蘋果手機組裝機是iso系統么 瀏覽:807
win10pe光碟 瀏覽:181
雙易淘是什麼網站 瀏覽:380
天正文件怎麼打開 瀏覽:590
從文件夾安裝工具104 瀏覽:589
蘋果系統怎麼安裝icc配置文件 瀏覽:119
linuxshell下載 瀏覽:513

友情鏈接