1. 程式人生 > >java之 惰性初始化

java之 惰性初始化

class Soap {
	private String s;
	Soap(){
		System.out.println("Soap()");
		s="Constructed";
		
	}
	public String toString() {
		return s;
		
	}
}
class Bath {
	private String
			s1 ="happy",
			s2 = "happy",
			s3,s4;
	private Soap castille;
	private int i;
	private float toy;
	public Bath() {
		System.out.println("Inside Bath()");
		s3 = "Joy";
		toy = 3.14f;
		castille = new Soap();
		
	}
	{
		i=47;
	}
	public String toString(){
		if(s4==null)
			s4 = "Joy";
		return 
				"s1 = " + s1 +"\n"+
				"s2 = " + s2 +"\n"+
				"s3 = " + s3 +"\n"+
				"s4 = " + s4 +"\n"+
				"i  = " + i  +"\n"+
				"toy = " + toy +"\n"+
				"castille =" + castille; 
	}

public static void main(String[] args) {
	Bath b  = new Bath();
	System.out.println(b);
	}
}

  輸出

Inside Bath()
Soap()
s1 = happy
s2 = happy
s3 = Joy
s4 = Joy
i  = 47
toy = 3.14
castille =Constructed

  來自thinking in java