[英]About overriding toString() method in Java
我正在观看一段视频,该视频试图覆盖 Java 中的 toString() 方法,如下所示
我很好奇这行代码:
returnString += items[i].toString();
看来这里的toString()
仍然是 Object class 之一。
为什么这条线不会导致我定义的新方法的递归?
也就是说,我如何知道在我试图覆盖的新方法中编写的方法是哪个方法?
@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
是另一个 class 的数组,则此行从另一个 class 调用toString()
。 如果items
是当前 class 的数组,则当array.length == 0
时递归将停止,或者将是无限递归(这将引发StackOferflowException
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.