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

时间:2015-08-09 16:59:18

标签: java tostring super base-class

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

这是我的代码:

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

应该归还什么?并感谢我在java初学者

2 个答案:

答案 0 :(得分:2)

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

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

因此,您将获得一个字符串,该字符串由对象为实例的类的名称,at符号@和对象的哈希码的无符号十六进制表示形式组成。 建议所有类(Object类的子类)覆盖此方法。

答案 1 :(得分:0)

super关键字用于在继承的情况下调用父类方法。
每个类都是java中Object类的子类,其非最终方法之一是{{ 1}}。所以toString()调用super.toString()类方法Object