java toString方法
        每一个非基本类型的对象都有一个toString()方法,而且当编译嚣需要一个String,而程序中只有一个对象时,该方法便会被调用。
下面看一个例子吧!这是Java编程思想里的一个例子。
class WaterSource
{
private String s;
WaterSource(){
System.out.println("WaterSource()");
s = new String("Constructed");
}
public String toString(){return s;}
};
public class SprinklerSystem
{
private static Test monitor = new Test();
private String valve1,valve2,valve3,valve4;
private WaterSource source;
private int i;
private float f;
public String toString(){
return
"valve1 = " + valve1 +"\n" +
"valve2 = " + valve2 +"\n" +
"valve3 = " + valve3 +"\n" +
"valve4 = " + valve4 +"\n" +
"i = " + i + "\n" +
"f =" + f + "\n"+
"source =" + source;
}
public static void main(String[] args){
SprinklerSystem sprinklers = new SprinklerSystem();
System.out.println(sprinklers);
}
};
 
 
 
 
 
 
输出的结果为:
valve1 = null
valve2 = null
valve3 = null
valve4 = null
i = 0
f = 0.0
source = null
WaterSource 内定义了一个非常特殊的方法toString() 大家不久就会知道每种非基
类型的对象都有一个toString()方法若编译器本来希望得到的是一个String 但却获得了这
样的一个对象便会调用这个方法所以在下面这个表达式中
System.out.println("source = " + source);
编译器会发现我们试图向一个WaterSource 添加一个String 对象"source =" 这对它
来说是不可接受的。因为我们只能将一个字串添加到另一个字串,所以它会说我要
调用toString() 把source 转换成字串,经这样处理后它就能编译两个字串并将结果字
串传递给一个System.out.println() 。每次想让自己的一个类允许这样的行为都只需写一个
toString()方法。
![]() 
下面看一个例子吧!这是Java编程思想里的一个例子。
class WaterSource
{
private String s;
WaterSource(){
System.out.println("WaterSource()");
s = new String("Constructed");
}
public String toString(){return s;}
};
public class SprinklerSystem
{
private static Test monitor = new Test();
private String valve1,valve2,valve3,valve4;
private WaterSource source;
private int i;
private float f;
public String toString(){
return
"valve1 = " + valve1 +"\n" +
"valve2 = " + valve2 +"\n" +
"valve3 = " + valve3 +"\n" +
"valve4 = " + valve4 +"\n" +
"i = " + i + "\n" +
"f =" + f + "\n"+
"source =" + source;
}
public static void main(String[] args){
SprinklerSystem sprinklers = new SprinklerSystem();
System.out.println(sprinklers);
}
};
输出的结果为:
valve1 = null
valve2 = null
valve3 = null
valve4 = null
i = 0
f = 0.0
source = null
WaterSource 内定义了一个非常特殊的方法toString() 大家不久就会知道每种非基
类型的对象都有一个toString()方法若编译器本来希望得到的是一个String 但却获得了这
样的一个对象便会调用这个方法所以在下面这个表达式中
System.out.println("source = " + source);
编译器会发现我们试图向一个WaterSource 添加一个String 对象"source =" 这对它
来说是不可接受的。因为我们只能将一个字串添加到另一个字串,所以它会说我要
调用toString() 把source 转换成字串,经这样处理后它就能编译两个字串并将结果字
串传递给一个System.out.println() 。每次想让自己的一个类允许这样的行为都只需写一个
toString()方法。
 
                    
                     
                    
                 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号