導航:首頁 > 編程語言 > 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獲取類方法相關的資料

熱點內容
程序員最長工作壽命到幾歲 瀏覽:829
哪裡可以找c語言的源碼 瀏覽:565
xe伺服器有什麼用 瀏覽:305
圖片里有個命令反相 瀏覽:496
文檔中的視頻怎麼加密 瀏覽:699
python中import功能 瀏覽:778
單片機或c語言 瀏覽:717
linux伺服器安裝apache 瀏覽:856
小米對講機app怎麼使用 瀏覽:440
exe加密貨幣 瀏覽:221
壓縮氣缸原理 瀏覽:547
聯邦特許銀行加密資產 瀏覽:737
桌面上總是自動出現捕捉文件夾 瀏覽:58
加密貨幣阿里騰訊 瀏覽:97
ping自己伺服器怎麼ping 瀏覽:867
pdf外套 瀏覽:968
受益pdf 瀏覽:466
新聞網站源碼下載 瀏覽:319
安卓系統如何截圖快捷鍵 瀏覽:54
菜鳥教程演算法 瀏覽:232