请大家看看这道Java题,帮忙解释一下为什么?

classTV{publicStringtoString(){return"创维等离子电视!";}}publicclassStudent1{publicstaticvoi... class TV {
public String toString(){
return "创维等离子电视!";
}
}

public class Student1 {

public static void main(String[] args) {
TV tv=new TV();
System.out.println(tv);

}
}

输出:创维等离子电视!
toString是一个什么样的方法?尽量详细一些。谢谢。tv明明是一个TV对象,输出的时候怎么就变成方法里面的返回内容了呢?
展开
 我来答
百度网友1c8f29f
2009-07-22 · TA获得超过1356个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:223万
展开全部
可以不管toString()是一个什么方法

首先 public String toString() 可以看出返回的是一个字符串

接着以 TV 类创建一个了 tv 对象

如果 tv 调用 toString() 方法则 return 字符串 创维等...

但是这里没有调用toString() 为什么还是输出了字符串?

因为 toString() 是所有 对象 的一个自带的方法

你这里重写了 toString() 方法,此方法的功能依然存在

功能如楼上所说:

System.out.println(tv);

当接收的是一个对象, 如果该引用存在,则调用obj.toString()进行打印

所以成功输出打印结果
大时代暑
2009-07-22 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4798万
展开全部
public String toString()方法是Object类里的一个实例方法,作用是返回对象的相关信息.比如当你打印一个对象时,它会返回对象所属的类名@十六进制数

你的程序重写了public String toString()方法,自然在打印对象时旧会调用你重写的public String toString()方法,返回:创维等离子电视!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wendal
2009-07-22 · TA获得超过132个赞
知道答主
回答量:44
采纳率:0%
帮助的人:27.4万
展开全部
System.out.println(tv); 如果接收的是一个对象, 如果该引用不为null,则调用obj.toString()进行打印,如果为null,则输出'null'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coffeezhu007
2009-07-22 · TA获得超过715个赞
知道小有建树答主
回答量:638
采纳率:0%
帮助的人:423万
展开全部
因为你这个类把toString方法重写了,按正理,当你输入的时候,里面是一个类的话,java会自动调动这个类的tostring方法的,但是你重写了,return直接一个字符串,当然就是返回这个了。因为任何类都是object的子类。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式