如何得到一个接口所有的实现类(及子接口)?例如:Eclipse IDE
Posted 怎么着都不成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何得到一个接口所有的实现类(及子接口)?例如:Eclipse IDE相关的知识,希望对你有一定的参考价值。
(一)Eclipse IDE的做法
它会解析所有的Java文件、Class文件。
技巧:在Eclipse中,选中Interface,按下F4,就可以查看到所有的实现类及子接口。
例如:
(二)自己怎么做?
(1)如果你自己也不知道这个接口有哪些实现类
采用java默认的ClassLoader是没有办法获得所有实现类的,因为ClassLoader是在程序运行期间才会加载类到static区域,即如果你的程序需要使用某一个class,jvm发现这个class还没有被ClassLoader加载,就会主动去加载,否则就跳过,你没办法知道那些未被加载的实现类。
(2)如果你知道有哪些实现类
那就简单了,自己配置一个xml文件,把实现类的完整类名写在这个xml文件,再写一个解析程序,迭代每一个类名,直接用Class.forName加载就可以了。
以上是关于如何得到一个接口所有的实现类(及子接口)?例如:Eclipse IDE的主要内容,如果未能解决你的问题,请参考以下文章