(一)Eclipse IDE的做法
它会解析所有的Java文件、Class文件。
技巧:在Eclipse中,选中Interface,按下F4,就可以查看到所有的实现类及子接口。
例如:
(二)自己怎么做?
(1)如果你自己也不知道这个接口有哪些实现类
采用java默认的ClassLoader是没有办法获得所有实现类的,因为ClassLoader是在程序运行期间才会加载类到static区域,即如果你的程序需要使用某一个class,jvm发现这个class还没有被ClassLoader加载,就会主动去加载,否则就跳过,你没办法知道那些未被加载的实现类。
(2)如果你知道有哪些实现类
那就简单了,自己配置一个xml文件,把实现类的完整类名写在这个xml文件,再写一个解析程序,迭代每一个类名,直接用Class.forName加载就可以了。