Java获取所有子类、实现类
Java获取所有子类、实现类
哈特中尉 发表于2年前
Java获取所有子类、实现类
  • 发表于 2年前
  • 阅读 180
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 扫描jvm中所有实现类
功能说明:下拉选择某个接口的所有实现类,方面运维人员通过界面配置相关功能,而不是手动复制粘贴。
需求说明:扫描jvm中某个接口的所有实现类;扫描某个类的所有子类。


需要依赖第三类库:reflections  
google code项目主页: https://code.google.com/p/reflections/

已经知道继承关系:

Java测试代码:

public static void main(String[] args) {
		Reflections reflections = new Reflections("com", new SubTypesScanner(true));
		Set<String> allClasses = reflections.getStore().getSubTypesOf(IDog.class.getName());
		for (String string : allClasses) {
			System.out.println(string);
		}
	}

程序执行结果:

2015-12-30 20:55:35 org.reflections.Reflections scan 
信息: Reflections took 108 ms to scan 4 urls, producing 191 keys and 645 values  
com.dog.IBlackDog 
com.dog.abs.AbstractWhiteDog 
com.dog.abs.impl.SmallWhiteDog 
com.dog.abs.AbstractBlackDog 
com.dog.abs.impl.SmallBlackDog 
com.dog.IWhiteDog


环境说明:win7+jdk1.6.0_45

扩展说明(多结果稍作过滤可以实现):
1.扫描所有接口的实现类
2.扫描所有接口的非抽象的实现类
3.扫描类的子类
4.扫描接口的子接口

共有 人打赏支持
粉丝 0
博文 5
码字总数 4153
×
哈特中尉
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: