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

基类中的Java-Super.toString()方法?,java,tostring,super,base-class,Java,Tostring,Super,Base Class,我的问题是,在基类中编写Super.toString()的原因是什么?它返回什么?为什么 这是我的代码: class Person { public String toString() { return super.toString() /*+ "->" + "Person" + name + "------"*/; } } 应该归还什么?感谢我是java初学者您的类管理员应该在您定义method toString()的地方扩展父类,否则您的父

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

这是我的代码:

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

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

您的类管理员应该在您定义method toString()的地方扩展父类,否则您的父类是class Object,将使用该类的本机方法:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
因此,您将获得一个字符串,该字符串由对象作为实例的类的名称、at符号@和对象哈希代码的无符号十六进制表示组成
建议所有类(类对象的子类)重写此方法。

您的类负责人应在您定义method toString()的地方扩展父类,否则您的父类是class Object,将使用此类的本机方法:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
因此,您将获得一个字符串,该字符串由对象作为实例的类的名称、at符号@和对象哈希代码的无符号十六进制表示组成
建议所有类(类对象的子类)重写此方法。

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

所以
super.toString()
调用
Object
类方法
toSting()

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

所以
super.toString()
调用
Object
类方法
toSting()

,这取决于基类是什么。如果类的字符串表示应包含其超类型的字符串表示,则可以这样做。您只需调用它的
toString()
是否尝试运行代码,而不是复制打印类继承属性的超类中的代码?我认为知道代码将返回什么的最好方法是尝试执行它;)@riccardo.cardin是的,我运行我的代码,我知道如果我使用super.toString()在基类中,它返回该类的类名和“@”后面的一些代码。我不知道那个代码是什么,当把同一个方法放在派生类中时,它会显示基类的名称和“@”以及一些代码,所以现在我知道它返回类的类名,如果我们在派生类中使用它,它会返回基类的名称我明白,对吗?只要说我说的是对的还是错的?这取决于你的基类是什么。如果你的类的字符串表示应该包含它的超类型的字符串表示,你就会这么做。您只需调用它的
toString()
是否尝试运行代码,而不是复制打印类继承属性的超类中的代码?我认为知道代码将返回什么的最好方法是尝试执行它;)@riccardo.cardin是的,我运行我的代码,我知道如果我使用super.toString()在基类中,它返回该类的类名和“@”后面的一些代码。我不知道那个代码是什么,当把同一个方法放在派生类中时,它会显示基类的名称和“@”以及一些代码,所以现在我知道它返回类的类名,如果我们在派生类中使用它,它会返回基类的名称我明白,对吗?说我说的是对的还是错的?