欢迎来到天天文库
浏览记录
ID:8830634
大小:91.50 KB
页数:11页
时间:2018-04-08
《怎样把一个package下的所有class列出来啊》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.怎样把一个package下的所有class列出来啊?CopytoclipboardPostedby:xxrongPostedon:2005-04-1910:17Iwanttoperformatestoverallclassinpackage'com.mytest'.Allclassinthisclassextendsthesamesuperclass.Thisismyidea:for(eachclassclazzinpackage'com.mytest'){SuperClasssobjct=clazz.newInstant();Metho
2、dm=sobjct.getMethod('test',...);//invoketest(...)sobject.invoke(...);}HowcanIdothis?2.Re:怎样把一个package下的所有class列出来啊?[Re:xxrong]CopytoclipboardPostedby:凤舞凰扬Postedon:2005-04-2216:32Ithinkyoushouldknowthenamingruleaboutjavaclass.Youcangetthefilelistunderthepackageatfirst.Toiter
3、atethefilelistandbuildastringwhichisthesameasclassname(forexample,ifyourpackageis'com.mytest',thestringwouldbe'com.mytest.xxxx').Andthen,youtransferitintoaclassviareflect.Youcanusethefunction'isAssignableFrom'andjudgewhetherthesuperclassofcurrentclassiswhatyouwant.3.Re:怎样把一
4、个package下的所有class列出来啊?[Re:xxrong]CopytoclipboardPostedby:jigsawPostedon:2005-04-2217:33缺乏上下文。。。你得package在哪?一个路径?一个jar?要么用File要么用ZipFile4.Re:怎样把一个package下的所有class列出来啊?[Re:xxrong]CopytoclipboardPostedby:凤舞凰扬Postedon:2005-04-2513:32楼上的回复就不恰当了,要列出一个包下的所有类,前提当然是这个类是可以访问的,也就是自然要在
5、classpath下的。不清楚所所的package在哪是什么意思?更不清楚什么叫一个路径,再说了,文件夹也好,jar也好,对class的装载是没有区别的,需要去考虑么?这个问题非常的简单,就是如同IDE的代码助手一样(敲一个.就列出包下的类),唯一需要注意的仅仅是类的可访问性(比如说有的类不是public,而是包访问或者protected)5.Re:怎样把一个package下的所有class列出来啊?[Re:凤舞凰扬]CopytoclipboardPostedby:JovePostedon:2005-04-2513:50IDE的做法应该也是设
6、置好BuildPath或ClassPath后,对所有项目作一次检查,把类名都收集起来,所以或许不存在一个通用而简单的方法列出同一个Package的所有Class6.Re:怎样把一个package下的所有class列出来啊?[Re:凤舞凰扬]CopytoclipboardPostedby:jigsawPostedon:2005-04-2517:45凤舞凰扬wrote:楼上的回复就不恰当了,要列出一个包下的所有类,前提当然是这个类是可以访问的,也就是自然要在classpath下的。不清楚所所的package在哪是什么意思?更不清楚什么叫一个路径,
7、再说了,文件夹也好,jar也好,对class的装载是没有区别的,需要去考虑么?这个问题非常的简单,就是如同IDE的代码助手一样(敲一个.就列出包下的类),唯一需要注意的仅仅是类的可访问性(比如说有的类不是public,而是包访问或者protected)我已经说了他的问题缺乏上下文。刚好,前不久我写的那个classloader,就碰到这样的问题:1.classfile的名字不可知2.classfile的名字不规则3.classfile存放的路径不规则(但是可知)也就是说,知道class.getName会返回什么,但是不知道到哪里去load这个类
8、你说怎么办?不就是遍历咯如果是遍历一个文件夹,就用File如果这些classfile是在同一个jar里面呢?当然就是ZipFile在这种情况下,显然需要考虑clas
此文档下载收益归作者所有