本文主要是讲从《java编程思想》中看到的东西,是第七章复用类的开头内容,主要是类初始化的几种方法的位置,主要包括

1.在定义对象的地方。这意味着他们总是在构造器被调用前被初始化。

2.在类的构造器中

3.在要使用这些对象之前,这种方式称为惰性初始化。在生成对象不值得以及不必每次都生成对象的情况下,这种方式可以减少额外的负担。

4.使用实例初始化。

下面是这四种方式的示例。

 1 class Soap{
 2     private String s;
 3     Soap() {
 4         System.out.println("Soap()");
 5         s = "Constructed";//在构造器中初始化
 6     }
 7     public String toString(){
 8         return s;
 9     }
10 }
11 
12 public class Bath{
13     private String s1 = "Happy", s2 = "Hello";//定义对象的地方初始化
14     private String s3, s4;
15     private Soap castile;
16     private int i;
17     public Bath(){
18         print("Bath()");
19         s3 = "Tonny";
20     }
21 
22     { i = 43; }//使用实例初始化
23 
24     public String toString(){
25         if(s4 == null)
26             s4 = "John";//惰性初始化
27         return "done";
28     }
29 }

在Bath()中,有一行语句在所有初始化产生前就已经执行,如果没有在定义处初始化,那么除非发生不可避免的运行期异常,否则将不能保证信息在发送给对象引用前已经被初始化。

posted on 2015-01-13 09:19  xqz_Pillar  阅读(747)  评论(1编辑  收藏  举报