class Soap
{
private String s;
Soap()
{
System.out.println("Soap()");
s=new String("yan zi jing");
}
public String toString()
{
return s;
}
}public class Bath
{
private String
s1=new String("wang jian bing"),
s2="wang jian bing",
s3,s4;
private Soap cas; //声明一个cas对象
private int i;
private float toy;
public Bath()
{
System.out.println("在Baath()之中");
s3=new String("Joy");
i=45;
toy=3.14f;
cas=new Soap();
}
public String toString ()
{
if(s4==null)
s4=new String("xuefei");
return
"s1= "+s1+"\n"+
"s2= "+s2+"\n"+
"s3= "+s3+"\n"+
"s4= "+s4+"\n"+
"i= "+i+"\n"+
"toy= "+toy+"\n"+
"cas= "+cas;
}
public static void main(String[] args)
{
Bath b=new Bath();
//b.toString();
System.out.println(b);
/**这一行System.out.println(b),我不明白是什么意思?
*他为什么可以调用Bath类中的toString()方法;
*而把System.out.println(b)屏蔽后,用b.toString()方法怎么不
*会输出return的结果呢?
*这两行的区别是什么呢?请你们帮我讲讲,谢谢!
*/
}
}
{
private String s;
Soap()
{
System.out.println("Soap()");
s=new String("yan zi jing");
}
public String toString()
{
return s;
}
}public class Bath
{
private String
s1=new String("wang jian bing"),
s2="wang jian bing",
s3,s4;
private Soap cas; //声明一个cas对象
private int i;
private float toy;
public Bath()
{
System.out.println("在Baath()之中");
s3=new String("Joy");
i=45;
toy=3.14f;
cas=new Soap();
}
public String toString ()
{
if(s4==null)
s4=new String("xuefei");
return
"s1= "+s1+"\n"+
"s2= "+s2+"\n"+
"s3= "+s3+"\n"+
"s4= "+s4+"\n"+
"i= "+i+"\n"+
"toy= "+toy+"\n"+
"cas= "+cas;
}
public static void main(String[] args)
{
Bath b=new Bath();
//b.toString();
System.out.println(b);
/**这一行System.out.println(b),我不明白是什么意思?
*他为什么可以调用Bath类中的toString()方法;
*而把System.out.println(b)屏蔽后,用b.toString()方法怎么不
*会输出return的结果呢?
*这两行的区别是什么呢?请你们帮我讲讲,谢谢!
*/
}
}
解决方案 »
- 求助:在带有checkbox的jtree上,点击图标,checkbox组件消失
- 问一个关于java 的问题
- 如何获取动态数据
- 我在用jai画图的时候,两个圆重叠,但是颜色不一样,我希望重叠的部分颜色自动变成该变成的颜色,咋办?
- 关于LookAndFeel的奇怪问题?谁能帮帮我啊
- *******问个关于int、Integer的小问题
- 什么地方有JBuilder 中文版下载
- 一个简单的全局变量的问题
- 如何在一个页面实现两个Java Applet,且互相关联起来?
- 很菜的语法问题,大家看看哪儿错了,实在找不出。
- 关于在applet中显示多张图片的问题。。。。
- 一个找工作的问题,虽然根栏目要求不一样,但是想听听大家的意见
System.out.println(arg);的参数如果是类对象的话系统主动调用其toString()方法.这时,它跟System.out.println(arg.toString());起到的作用是一样的.你说的不输出,就像:
int i=2+3;
不会输出5一样,只执行操作,没有打印,屏幕上当然看不到结果.
如果想要调用toString()方法有输出结果的话,在实现的时候加上输出语句即可
但是那样是违反编程思想的,一般不那么干!
b.toString()方法只把它转化在一个字符串,没有在屏幕上打印呀,所以你看不到.
你只有把它打印出来才能看到呀!