打字猴:1.700481312e+09
1700481312
1700481313 //获得包名称
1700481314
1700481315 String packageName=fatherClass.getPackage().getName();
1700481316
1700481317 //获得包中的所有类
1700481318
1700481319 List<Class>packClasses=getClasses(packageName);
1700481320
1700481321 //判断是否是子类
1700481322
1700481323 for(Class c:packClasses){
1700481324
1700481325 if(fatherClass.isAssignableFrom(c)&&!fatherClass.equals(c)){
1700481326
1700481327 returnClassList.add(c);
1700481328
1700481329 }
1700481330
1700481331 }
1700481332
1700481333 return returnClassList;
1700481334
1700481335 }
1700481336
1700481337 //从一个包中查找出所有的类,在jar包中不能查找
1700481338
1700481339 private static List<Class>getClasses(String packageName){
1700481340
1700481341 ClassLoader classLoader=Thread.currentThread()
1700481342
1700481343 .getContextClassLoader();
1700481344
1700481345 String path=packageName.replace(’.’,’/’);
1700481346
1700481347 Enumeration<URL>resources=null;
1700481348
1700481349 try{
1700481350
1700481351 resources=classLoader.getResources(path);
1700481352
1700481353 }catch(IOException e){
1700481354
1700481355 //TODO Auto-generated catch block
1700481356
1700481357 e.printStackTrace();
1700481358
1700481359 }
1700481360
1700481361 List<File>dirs=new ArrayList<File>();
[ 上一页 ]  [ :1.700481312e+09 ]  [ 下一页 ]