Object对象如何返回字符串? (JAVA)

时间:2011-09-15 12:21:28

标签: java

如果Object是层次结构中所有类的母亲,那么他如何实现返回子类对象的方法(例如toString返回String个对象)?< / p>

3 个答案:

答案 0 :(得分:3)

只要子类存在,这不是问题。例如,以下内容有效:

<强> A.java:

public class A {
    B b;
}

<强> B.java:

public class B extends A {

}

答案 1 :(得分:2)

这是一个有趣的观点:Object类知道它的一个子类,即String(特别是,声明并实现toString()方法)。

java语言规范的一部分是所有类都是Object的隐式子类。虽然从技术上来说,一个类引用其子类之一是“糟糕的设计”,但我认为这是一个“边缘案例”,并不值得担心。

答案 2 :(得分:0)

因为toString上有Object的默认实现,可确保返回String实例。由于每个类都是Object的实例,因此您总是可以免费获得该默认实现,尽管您可以而且应该在子类上实现toString

在任何返回另一个类的实例的类中都没有任何阻止方法。你总能做到

return new SomethingElse()

其中SomethingElse是另一个类。