当前位置:编程学习 > JAVA >>

执行《Thingking in java》中的一个程序发现结果通书上的不同,大侠看看怎么回事?

执行《Thingking in java》中的一个程序发现结果通书上的不同,
class Candy
{
 static
 {
 System.out.println("loading Candy");
 }
}
class Gum
{
 static
 {
 System.out.println("loading Gum");
 }
}
class Cookie
{
 static
 {
 System.out.println("loading Cookie");
 }
}

public class Class对象使用1
{

public static void main(String[] args) throws ClassNotFoundException
{
System.out.println("inside main");

new Candy();//因为有static语言 所以在第一次加载的时候会执行里面代码
Class c = null;
   try{

c = Class.forName("Gum");

   }catch (ClassNotFoundException e)
   {
   System.out.println("can not find Gum");
   }
new Cookie();

}
执行的结果是inside main
loading Candy
can not find
loading Cookie
而书上的结果是
inside main
loading Candy
loading Gum
loading Cookie
这是什么情况啊?  还有Class在实际编程中用的多吗?感觉挺难理解的!







--------------------编程问答-------------------- 此程序在书中哪一页 --------------------编程问答-------------------- 第三版的272页10.1.1Class对象   这个章看的头有点晕了 --------------------编程问答-------------------- 因为书上的例子是没有包(pakage)的,而你可能放在了某个包中,比如package test;则要在类名前面加上包名才完整,对应c = Class.forName("Gum");改为c = Class.forName("test.Gum");
Class 和 reflect 还是比较有用的。 --------------------编程问答-------------------- 恩 可以了!弄的我郁闷了一下午,谢谢了哈!
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,