想了半天没想明白的问题高手帮忙啊!!!
class   Watersource   { 
 	private   String   s; 
 	Watersource() 
 	{ 
 		System.out.println( "Watersource() "); 
 		s=new   String( "Constructed "); 
 	} 
 	public   String   toString(){return   s; 
 } 
 }   
 public   class   SprinkerSystem{ 
 	private   String   valve1,valve2,valve3,valve4; 
 	private   Watersource   source; 
 	private   int   i; 
 	private   float   f; 
 	public   String   toString(){ 
 		return 
 			 "valvel1= "+valve1+ "\n "+ 
 			 "valvel2= "+valve2+ "\n "+    
 			 "valvel3= "+valve3+ "\n "+	 
 			 "valvel4= "+valve4+ "\n "+	 
 			 "i= "+i+ "\n "+ 
 			 "f= "+f+ "\n "+ 
 			 "source= "+source;   			 
 	} 
 	public   static   void   main   (String[]   args)   { 
 		SprinkerSystem   Sprinker=new   SprinkerSystem(); 
 		System.out.println(Sprinker); 
 					         } 
 } 
 结果    
 valvel1=null 
 valvel2=null 
 valvel3=null 
 valvel4=null 
 i=0 
 f=0.0 
 source=null   
 --------------------------------------   
 SprinkerSystem   Sprinker=new   SprinkerSystem(); 
 		System.out.println(Sprinker); 
 SprinkerSystem类中没有任何方法体,只是创建了一个对象,然后输出对象。可结果为什么会是那样?   
------解决方案--------------------类实例化的时候会将成员进行初始化,对象类型的就初始化为null,primitive类型的就初始化为对应的零值
------解决方案--------------------SprinkerSystem里面覆盖了toString(),你打印SprinkerSystem的实例Sprinker时,由于它是个object而打印object时会自动调用object.toString()作为输出结果。