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

标签 java tostring super base-class

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

这是我的代码:

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

应该返回什么?谢谢我是java初学者

最佳答案

您的 Person 类应该扩展您定义方法 toString() 的父类,否则您的父类是 Object 类,并且将使用该类的 native 方法:

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

因此,您将得到一个字符串,其中包含对象作为实例的类的名称、@ 符号以及对象哈希码的无符号十六进制表示形式 建议所有类(Object 类的子类)都重写此方法。

关于Java - 基类中的 Super.toString() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906606/

相关文章:

java - Guice 中的空 Multibinder/MapBinder

java - Java 中可以使用 RAII 吗?

java - 调用内部类的重绘不会触发paint()实际上什么也不做

java - 不调用继承类的方法

java - 接入提供商运营商通过this使用super的情况

java - 如何获取数组中json子元素的值

scala-尝试打印覆盖的toString方法

python - Pandas (Excel): How to read full value with zeros in start?

java - java子类的私有(private)final字段可以在 super 构造函数完成之前初始化吗?

java - 为什么当我使用编辑器代码生成器时,eclipse 会自动在构造函数中添加一个 java super() 方法?