Atitit利用反射获取子类 集合 以及继承树
想从父类往下找子类的确是不可能的,要知道只要类不是final的话谁都有继承它的自由不需要事前通知父类。
Eclipse实现不是重父类开始找而是重子类往回找,然后在逐个匹配。
很简单,遍历源代码目录下的所有类文件,根据类定义行通过字符串匹配找出继承该类的所有子类。
找某个包的子类,JDK中没有直接提供相应的接口,应该是加载classpath下的所有类,放到类似Map<Package, Collection<Class>>容器中
如果一定要实现,觉得可以反向,即:遍历指定的包内所有的类,看其父类是否就是预先想要的。
怎样获取某个类的所有子类?-CSDN论坛-CSDN.NET-中国最大的IT技术社区.html
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
/atiplat_cms/src/com/attilax/jar/jarX.java
public List getAllClass(String jar_path) {
return JarFileView.files(jar_path);
}
打印JAR文件中的所有目录名和文件名
Enumeration entries = jar.entries();
//打印JAR文件中的所有目录名和文件名
while(entries.hasMoreElements())
{
Object o = entries.nextElement();
if(o.toString().contains(".class"))
{
String s=o.toString();
s=s.replace(".class", "");
s=s.replace("/", ".");
li.add(s);
}
// System.out.println(o);
}
如何用反射获取继承自某类或实现某个接口的所有子类的集合-CSDN论坛-CSDN.NET-中国最大的IT技术社区.html