1. 程式人生 > >如何得到一個接口所有的實現類(及子接口)?例如:Eclipse IDE

如何得到一個接口所有的實現類(及子接口)?例如:Eclipse IDE

name 解析 例如 圖片 沒有 選中 java 叠代 interface

(一)Eclipse IDE的做法

它會解析所有的Java文件、Class文件。

技巧:在Eclipse中,選中Interface,按下F4,就可以查看到所有的實現類及子接口。

例如:

技術分享圖片

(二)自己怎麽做?

(1)如果你自己也不知道這個接口有哪些實現類

采用java默認的ClassLoader是沒有辦法獲得所有實現類的,因為ClassLoader是在程序運行期間才會加載類到static區域,即如果你的程序需要使用某一個class,jvm發現這個class還沒有被ClassLoader加載,就會主動去加載,否則就跳過,你沒辦法知道那些未被加載的實現類。

(2)如果你知道有哪些實現類

那就簡單了,自己配置一個xml文件,把實現類的完整類名寫在這個xml文件,再寫一個解析程序,叠代每一個類名,直接用Class.forName加載就可以了。

如何得到一個接口所有的實現類(及子接口)?例如:Eclipse IDE