关于Class.forName()方法的一个问题

书上说该方法能够加载类,于是我写了如下的一个程序 class Gum{ static { System.out.print("Loading Gum"); } } public class SweetShop { public static void main(String args[]){ try{ Class.forName("Gum"); }catch(ClassNotFoundException... 展开
我有更好的答案

其他回答

.
所以它就不会执行Gum里面的Static块了恩恩 看懂你的意思了.....你想加载的那个类Gum报异常了......
但是 你要看清楚...直接跳到异常捕捉里面去了...
能懂一些了么.
它根本就找不到Gum这个类 你要它怎么去跟你加载Gum里面的东西呢.你的意思是说那个static块里面的“Loading Gum”应该会被输出来吧
呵呵 按道理说 静态块确实应该是第一个执行的.....不懂的再问我.
追问
明明有Gum类啊,为嘛找不到啊
追答
因为在Class.forName()这个方法中的参数应该是一个完整的类路径...
一个完整的 懂吗 就是要把你的包名也加进去...而你的那个参数就只是类名(Gum) 肯定不行啦
但是我在你的代码上没有看到包名....就是最前面的package
就是你的这个Gum类放在哪个文件夹里面的....
你自己找找看....
不懂再问我....
qhitly | 发布于2011-08-09
评论
Class.forName是java反射的一种方法。建议好好看看反射
dych_2006 | 发布于2011-08-09
评论
Class.forName() 实例化一个Gum类的对象。
加载Gum类,输出:Loading Gum。
程序就结束了,没有抛异常为什么能输出:Couldn't find Gum 啊?
没明白你的问题要问的意思。
5爱记歌词 | 发布于2011-08-09
评论
收起 其他1条回答

为您推荐:

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消