基类中的Java-Super.toString()方法?
我的问题是,在基类中编写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()的地方扩展父类,否则您的父
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()在基类中,它返回该类的类名和“@”后面的一些代码。我不知道那个代码是什么,当把同一个方法放在派生类中时,它会显示基类的名称和“@”以及一些代码,所以现在我知道它返回类的类名,如果我们在派生类中使用它,它会返回基类的名称我明白,对吗?说我说的是对的还是错的?