繁体   English   中英

关于覆盖 Java 中的 toString() 方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM