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

2024-11-08 03:51:17
有4个网友回答
网友(1):

可以不管toString()是一个什么方法

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

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

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

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

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

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

功能如楼上所说:

System.out.println(tv);

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

所以成功输出打印结果

网友(2):

public String toString()方法是Object类里的一个实例方法,作用是返回对象的相关信息.比如当你打印一个对象时,它会返回对象所属的类名@十六进制数

你的程序重写了public String toString()方法,自然在打印对象时旧会调用你重写的public String toString()方法,返回:创维等离子电视!

网友(3):

System.out.println(tv); 如果接收的是一个对象, 如果该引用不为null,则调用obj.toString()进行打印,如果为null,则输出'null'

网友(4):

因为你这个类把toString方法重写了,按正理,当你输入的时候,里面是一个类的话,java会自动调动这个类的tostring方法的,但是你重写了,return直接一个字符串,当然就是返回这个了。因为任何类都是object的子类。