toString方法有点不懂.
class Soap
{
private String s;
private String t;
Soap()
{
System.out.println("Soap()");
s = new String("Constructed");
t = new String("hello");
}
public String toString() { return t; }
}
public class Bath
{
Soap castille;
Bath()
{
castille=new Soap();
}
void print()
{
System.out.println("castille = " + castille);
}
public static void main(String[] args)
{
Bath b = new Bath();
b.print();
}
}
是不是每个类的对象都有个toString方法{
private String s;
private String t;
Soap()
{
System.out.println("Soap()");
s = new String("Constructed");
t = new String("hello");
}
public String toString() { return t; }
}
public class Bath
{
Soap castille;
Bath()
{
castille=new Soap();
}
void print()
{
System.out.println("castille = " + castille);
}
public static void main(String[] args)
{
Bath b = new Bath();
b.print();
}
}
我上面的方法,是不是重定了那个toString方法.打印出来的是castille=hello;还有为什么会自动调用toString方法?
如果把上面的方法去掉,打印出的是 Soap@c17164 这个是对象是什么啊?
默认的toString方法里面返回的是什么,还是void???????????
[此贴子已经被作者于2007-6-29 17:15:14编辑过]