導航:首頁 > 編程語言 > java獲取類方法

java獲取類方法

發布時間:2025-03-24 08:13:10

java中的一個類怎麼調用另一個類中的方法

//先定義一個類

(1)java獲取類方法擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

㈡ Java中怎樣獲取一個類的所有子類

1、面向對象思想的繼承是子類繼承父類,父類被其它子類繼承在JAVA虛擬機的容器中並沒有直接介面獲取;

2、如果是在一個項目內獲取父類的子類繼承情況,參考這個代碼:

packagefind;

importjava.io.File;
importjava.io.IOException;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;

importfind.test.Intf;
importfind.test.Man;

publicclassClassUtil{
publicstaticvoidmain(String[]args){
try{
System.out.println("介面實現類:");
for(Class<?>c:getAllAssignedClass(Intf.class)){
System.out.println(c.getName());
}
System.out.println("子類:");
for(Class<?>c:getAllAssignedClass(Man.class)){
System.out.println(c.getName());
}
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}

/**
*獲取同一路徑下所有子類或介面實現類
*
*@paramintf
*@return
*@throwsIOException
*@throwsClassNotFoundException
*/
publicstaticList<Class<?>>getAllAssignedClass(Class<?>cls)throwsIOException,
ClassNotFoundException{
List<Class<?>>classes=newArrayList<Class<?>>();
for(Class<?>c:getClasses(cls)){
if(cls.isAssignableFrom(c)&&!cls.equals(c)){
classes.add(c);
}
}
returnclasses;
}

/**
*取得當前類路徑下的所有類
*
*@paramcls
*@return
*@throwsIOException
*@throwsClassNotFoundException
*/
publicstaticList<Class<?>>getClasses(Class<?>cls)throwsIOException,
ClassNotFoundException{
Stringpk=cls.getPackage().getName();
Stringpath=pk.replace('.','/');
ClassLoaderclassloader=Thread.currentThread().getContextClassLoader();
URLurl=classloader.getResource(path);
returngetClasses(newFile(url.getFile()),pk);
}

/**
*迭代查找類
*
*@paramdir
*@parampk
*@return
*@throwsClassNotFoundException
*/
privatestaticList<Class<?>>getClasses(Filedir,Stringpk)throwsClassNotFoundException{
List<Class<?>>classes=newArrayList<Class<?>>();
if(!dir.exists()){
returnclasses;
}
for(Filef:dir.listFiles()){
if(f.isDirectory()){
classes.addAll(getClasses(f,pk+"."+f.getName()));
}
Stringname=f.getName();
if(name.endsWith(".class")){
classes.add(Class.forName(pk+"."+name.substring(0,name.length()-6)));
}
}
returnclasses;
}
}
閱讀全文

與java獲取類方法相關的資料

熱點內容
taptap怎麼改吃雞國際服伺服器 瀏覽:340
鋼筋工焊接需要加密嗎 瀏覽:797
servu伺服器ip地址怎麼查看 瀏覽:901
西紅柿解壓球里裝的是什麼 瀏覽:482
多位數口演算法 瀏覽:906
收二手安卓手機測機軟體用什麼 瀏覽:648
口袋寫作app在哪裡看 瀏覽:113
長虹多屏互動安全加密怎麼取消 瀏覽:23
pdf轉換exe 瀏覽:943
把其中一位聯系人的號碼加密 瀏覽:668
無法發送信息該如何恢復伺服器 瀏覽:264
程序員在電子廠能做什麼 瀏覽:164
單片機八燈閃爍 瀏覽:527
福昕pdf顏色 瀏覽:519
金山詞霸app在哪裡 瀏覽:314
web前端需要編程嗎 瀏覽:8
php數組模糊匹配 瀏覽:923
自製2051單片機燒寫 瀏覽:781
恆大名都門禁卡是加密的嗎 瀏覽:48
氣憤PDF 瀏覽:462