繁体   English   中英

Java - 基础 class 中的 Super.toString() 方法?

[英]Java - Super.toString() method in base class?

我的问题是在 base class 中编写 Super.toString() 的原因是什么,它返回什么以及为什么?

这是我的代码:

class Person    {
public String toString()    {
        return super.toString() /*+ "->" + "Person" + name + "------"*/;
        }
}

应该返回什么? 感谢我在 java 的初学者

你的 class Person 应该扩展父 class 在你定义方法 toString() 的地方,否则你的父 class 是 class Object 并且这个 class 的本地方法将被使用:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

所以,你会得到一个由class的名字组成的字符串,其中object是一个实例,at符号@,object的代码hash的无符号十六进制表示建议所有类(883981182的子类Object195182 ) 覆盖此方法。

super关键字用于在 inheritance 的情况下调用父 class 方法。
每个 class 都是Object class 在 java 中的孩子,它的非最终方法之一是toString()
所以super.toString()调用Object class 方法toString()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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