zoukankan      html  css  js  c++  java
  • Atitit利用反射获取子类 集合 以及继承树

    Atitit利用反射获取子类 集合 以及继承树

     

     

     

    想从父类往下找子类的确是不可能的,要知道只要类不是final的话谁都有继承它的自由不需要事前通知父类。

    Eclipse实现不是重父类开始找而是重子类往回找,然后在逐个匹配。

    很简单,遍历源代码目录下的所有类文件,根据类定义行通过字符串匹配找出继承该类的所有子类。

    找某个包的子类,JDK中没有直接提供相应的接口,应该是加载classpath下的所有类,放到类似Map<Package, Collection<Class>>容器中

    如果一定要实现,觉得可以反向,即:遍历指定的包内所有的类,看其父类是否就是预先想要的。

    怎样获取某个类的所有子类?-CSDN论坛-CSDN.NET-中国最大的IT技术社区.html

     

    作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/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


  • 相关阅读:
    EBS接口程序调试
    FORM级别和数据库级别的Trace
    详解EBS接口开发之供应商导入(补充)--供应商银行账户更新
    详解EBS接口开发之库事务处理带提前发运通知(ASN)采购接收入库-补充
    详解EBS接口开发之库存事务处理采购接收--补充
    采购接收会计期间未打开报错分析
    供应商默认发运地和开票地更新
    Linux下which、whereis、locate、find 命令查找文件
    sql AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤
    premake构造工具
  • 原文地址:https://www.cnblogs.com/attilax/p/15198506.html
Copyright © 2011-2022 走看看