获得类的方法 这个…………必须要是.class才行的啊. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个.java文件只有被编译成.class才行吗?但我在jbuilder下试过,新建一个class文件,不用编译,就可以用getMethods()获得它的方法呀 哦,原来是这样的。请问:bluesmile979换成Class cl=Class.forName("f:\\test\\SelectMethod\\classes\\selectmethod\\Helloworld");这样好像也不行java.lang.ClassNotFoundException: f:\test\SelectMethod\classes\selectmethod\Helloworld该怎么办呢?如果是.java文件,是不是就没办法获得它提供的所有方法?请大侠赐教! 这个类是对class而言的,.java肯定是不行的。你上边那个好像是打包了,打包的处理应该用selectmethod.Helloworld 要获得Helloworld方法的类和Helloworld不在同一个目录下。难道要用: Class cl=Class.forName("f.test.SelectMethod.classes.selectmethod.Helloworld");这样也是抛出异常:java.lang.ClassNotFoundException: f.test.SelectMethod.classes.selectmethod.Helloworld 试试看("f:\\test\\SelectMethod\\classes\\selectmethod.Helloworld"); Class.forName()不是从文件系统中取找class文件,而是从从JVM的CLASSPATH中找class;所有的带有文件路径的的使用方法都是错误的,如:Class cl=Class.forName("f:\\test\\SelectMethod\\classes\\selectmethod\\Helloworld");正确的方法是:在用JAVA命令启动JAVA程序的时候,设置好CLASSPATH.如果你的CLASS文件在一个JAR文件中,你就需要将这个JAR文件设置到CLASSPATH中去,象这样:java -classpath jarfile.jar [classname]如果jarfile.jar不在当前目录下,需要指定为绝对路径。如果你的CLASS文件不是在JAR文件中,而是单独的文件,那么在设置classpath时需要将该文件所在目录设置进去,象这样:java -classpath c:/tmp [classname][注:假设class文件在c:/tmp目录下]如果说你写的类带有包名(package),那么就要小心,这时候需要指定根包名所目录。假设你的类中包名为:test,你写的类名是:Test,那么首先在c:/tmp下建立test目录,将Test.class文件拷贝到c:/tmp/test目录下,再执行:java -cp c:/tmp test.Test这样才能找到这个类。以上说的是用UltraEdit或者Notepad写程序时,需要注意的。如果你用的是java的集成开发环境(如jbuilder),那么就可以省很多事,按照向导将JAR文件加入到工程的lib中,当然,不是jar文件,就直接加path就可以了。 在Class.forName中给出的不应该是类文件的物理路径,应该是包名.包名.类名 muymuy(muy) 说得很清楚了。 强烈同意Polarislee(北极星)的说法. 不然的话,你需要用ClassLoader才能去调物理路径的类文件. 谢谢各位大侠的热心帮助!(前两天学校网断了)如果这些类都在同一目录下,muymuy大侠的方法很适用。如果类在不同的目录下,而且要获得的这些类是动态的,好像就需要用ClassLoader了,但具体怎么用,我不是很清楚。有哪位大侠熟悉ClassLoader,可否不吝赐教! ClassLoader非常有用.学会它,java水平可是大长一块噢. 到这里看看,有详细介绍,还有例子:http://www-900.cn.ibm.com/developerWorks/cn/cnedu.nsf/java-onlinecourse-bytitle/AED03F980AC3C03C48256A7600222BB5?OpenDocument 时间相加问题 itext生成的表格内容如何居中,有高手会吗?小弟在此等候 优化这个方法!优化这个方法!优化这个方法! 30分求教,JAVA小程序 关于JFrame类问题 java应用程序的编译 xml简单问题 初级问题 ::::::::::请教 J2EE 1.4 SDK和J2SE 1.4.2 SDK有什么区别???:::::::::::::: 使用post方法,能打开一个新窗口吗? 何为tomcat,,等。。java 入门必懂!!回答有分!!! 问一个比较弱的问题,怎么将字符串写入到本地文件里面。必高分重谢
就可以用getMethods()获得它的方法呀
请问:bluesmile979
换成
Class cl=Class.forName("f:\\test\\SelectMethod\\classes\\selectmethod\\Helloworld");
这样好像也不行
java.lang.ClassNotFoundException: f:\test\SelectMethod\classes\selectmethod\Helloworld该怎么办呢?
如果是.java文件,是不是就没办法获得它提供的所有方法?请大侠赐教!
难道要用:
Class cl=Class.forName("f.test.SelectMethod.classes.selectmethod.Helloworld");这样也是抛出异常:
java.lang.ClassNotFoundException: f.test.SelectMethod.classes.selectmethod.Helloworld
所有的带有文件路径的的使用方法都是错误的,如:
Class cl=Class.forName("f:\\test\\SelectMethod\\classes\\selectmethod\\Helloworld");正确的方法是:
在用JAVA命令启动JAVA程序的时候,设置好CLASSPATH.如果你的CLASS文件在一个JAR文件中,你就需要将这个JAR文件设置到CLASSPATH中去,象这样:
java -classpath jarfile.jar [classname]
如果jarfile.jar不在当前目录下,需要指定为绝对路径。如果你的CLASS文件不是在JAR文件中,而是单独的文件,那么在设置classpath时需要将该文件所在目录设置进去,象这样:
java -classpath c:/tmp [classname]
[注:假设class文件在c:/tmp目录下]如果说你写的类带有包名(package),那么就要小心,这时候需要指定根包名所目录。假设你的类中包名为:test,你写的类名是:Test,那么首先在c:/tmp下建立test目录,将Test.class文件拷贝到c:/tmp/test目录下,再执行:
java -cp c:/tmp test.Test
这样才能找到这个类。
以上说的是用UltraEdit或者Notepad写程序时,需要注意的。如果你用的是java的集成开发环境(如jbuilder),那么就可以省很多事,按照向导将JAR文件加入到工程的lib中,当然,不是jar文件,就直接加path就可以了。
包名.包名.类名
说得很清楚了。
如果这些类都在同一目录下,muymuy大侠的方法很适用。
如果类在不同的目录下,而且要获得的这些类是
动态的,好像就需要用ClassLoader了,
但具体怎么用,我不是很清楚。
有哪位大侠熟悉ClassLoader,可否不吝赐教!
http://www-900.cn.ibm.com/developerWorks/cn/cnedu.nsf/java-onlinecourse-bytitle/AED03F980AC3C03C48256A7600222BB5?OpenDocument