我的问题是在基类中编写Super.toString()的原因是什么,它返回的原因是什么?
这是我的代码:
class Person {
public String toString() {
return super.toString() /*+ "->" + "Person" + name + "------"*/;
}
}
应该归还什么?并感谢我在java初学者
答案 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
。