正在加载图片...
Thinking in Java 3 Edition Candy,Gum,和 Cookie,每个类都有一条“会在类第一次被装载的 时候执行”的 static语句。这样装载的类时候就会它就会打印消息通知 你了。对象的创建被分散到了man()的各条打印语句之间,其目的就 是要帮助你检测装载的时机。 你可以从程序的输出看到, Class对象只会在需要的时候装载,而 static初始化则发生在装载类的时候。 下面这行特别有趣 Class. forName("Gum 这是一个 Class的 static方法(所有的 Class对象所共有的)。 class 对象同其它对象一样,也可以用 reference来操控(这是装载器要干的), 而要想获取其 reference, forName()就是一个办法。它要一个表示 这个类的名字的 String作参数(一定要注意拼写和大小写!)。这个方法 会返回 class的 reference,不过程序里面没用到这个 reference;这 里只是要用它的副作用——看看Gum类装载了没有,要是还没有那就马 上装载。装载的过程中,程序执行了Gum的 static语句。 在上述例程中,如果 Class. forName()没有找到它要装载的类,就会 抛出一个 ClassNotFound Exception(太完美了!单从异常的名字你 就能知道出了什么问题了)。这里,我们只是简单地报告一下问题,然后 继续下去,但是在较为复杂的程序里,你或许应该在异常处理程序里把这 个问题解决掉。 Class常数 Java还提供了一种获取 Class对象的 reference的方法:“cass常数 ( class litera/)”。对于上述程序,它就是 Gum. class 这种写法不但更简单,而且也更安全,因为它是在编译时做检查的。此外 由于没有方法调用,它的执行效率也更高一些。 第5页共17页 www.wgqqh.com/shhgs/tij.html emailshhgsasohu.comThinking in Java 3rd Edition 第 5 页 共 17 页 www.wgqqh.com/shhgs/tij.html email:shhgs@sohu.com "After creating Cookie" }); } } ///:~ Candy,Gum,和 Cookie,每个类都有一条“会在类第一次被装载的 时候执行”的 static 语句。这样装载的类时候就会它就会打印消息通知 你了。对象的创建被分散到了 main( )的各条打印语句之间,其目的就 是要帮助你检测装载的时机。 你可以从程序的输出看到,Class 对象只会在需要的时候装载,而 static 初始化则发生在装载类的时候。 下面这行特别有趣: Class.forName("Gum"); 这是一个 Class 的 static 方法(所有的 Class 对象所共有的)。Class 对象同其它对象一样,也可以用 reference 来操控(这是装载器要干的), 而要想获取其 reference,forName( )就是一个办法。它要一个表示 这个类的名字的 String 作参数(一定要注意拼写和大小写!)。 这个方法 会返回 Class 的 reference,不过程序里面没用到这个 reference;这 里只是要用它的副作用——看看 Gum 类装载了没有,要是还没有那就马 上装载。装载的过程中,程序执行了 Gum 的 static 语句。 在上述例程中,如果 Class.forName( )没有找到它要装载的类,就会 抛出一个 ClassNotFoundException(太完美了!单从异常的名字你 就能知道出了什么问题了)。这里,我们只是简单地报告一下问题,然后 继续下去,但是在较为复杂的程序里,你或许应该在异常处理程序里把这 个问题解决掉。 Class 常数 Java 还提供了一种获取 Class 对象的 reference 的方法:“class 常数 (class literal)”。对于上述程序,它就是: Gum.class; 这种写法不但更简单,而且也更安全,因为它是在编译时做检查的。此外 由于没有方法调用,它的执行效率也更高一些
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有