1 关键代码位于“ClassUtils.java”中,如下所示
package com.cbf4life;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
@SuppressWarnings("all")
public class ClassUtils {
/**
* 用途:给一个接口,返回这个接口的所有实现类
* @param c
* @return
*/
public static List<Class> getAllClassByInterface(Class c) {
List<Class> classList = new ArrayList<Class>();
if (c.isInterface()) {//如果不是一个接口,则不做处理
String packageName = c.getPackage().getName(); //获得当前的包名
try {
List<Class> allClass = getClassesUnderGivenPkg(packageName); //获得当前包下以及子包下的所有类
//判断是否是同一个接口
for (int i = 0; i < allClass.size(); i++) {
if (c.isAssignableFrom(allClass