【发布时间】:2020-05-16 11:30:21
【问题描述】:
为什么 toString() 有效?我们没有叫它。它像构造函数一样工作。
public class Main {
public static void main(String[] args) {
// write your code here
A a=new A();
System.out.println(a);
}
}
class A{
@Override
public String toString(){
return "Hello";
}
}
我们将删除println,设置断点并以调试模式运行程序怎么样?
public class Main {
public static void main(String[] args) {
A a=new A();
A a2=a;
}
}
class A{
@Override
public String toString(){
return "Hello";
}
}
我们可以看到,“Hello”设置为a 和a2。
为什么??
【问题讨论】:
-
请用英文发帖。
-
为什么 toString() 有效?我们没有叫它。它像构造函数一样工作
-
我们实际上看不到,你可以附上调试器的截图,这样大家的问题就会更清楚了。
-
因为 toString() 是在对象上定义的,然后在调用 println 时使用它来获取表示对象的字符串,并在调试器中用于显示值。