【发布时间】:2021-01-19 07:06:50
【问题描述】:
我正在观看一个试图覆盖 Java 中的 toString() 方法的视频,如下所示
我对这行代码很好奇:
returnString += items[i].toString();
看来这里的toString()还是Object类的那个。
为什么这行代码不会导致我定义的新方法的递归?
也就是说,我怎么知道写在我试图重写的新方法中的方法是哪个方法?
@Override
public String toString() {
String returnString = "{";
for (int i = 0; i < size-1; i += 1) {
returnString += items[i].toString();
returnString += ", ";
}
returnString += items[size-1];
returnString += "}";
return returnString;
}
【问题讨论】:
-
我猜 items[i] 属于不同的类别,或者至少它没有引用相同的项目。因此它要么调用不同的方法,要么递归是有限的。
标签: java oop overriding tostring