2011-09-15 5 views

答えて

2

これは興味深い点です:Objectクラスは、そのサブクラスの1つ、つまりStringを知っています(特にtoString()メソッドを宣言して実装する)。

Java言語仕様の一部は、すべてのクラスが暗黙的にObjectのサブクラスであることです。技術的には、クラスがそのサブクラスの1つを参照するのは「設計が貧弱」ですが、それは「エッジケース」であり、心配するものではないと思います。

3

これは、子クラスが存在する限り問題ありません。たとえば、次は有効です。

A.java:

public class A { 
    B b; 
} 

B.java:

public class B extends A { 

} 
0

ますObjecttoStringのデフォルトの実装があるので、 Stringインスタンスが返されていることを確認してください。すべてのクラスはObjectのインスタンスであるため、サブクラスにtoStringを実装することはできますが、実装する必要がありますが、常にそのデフォルト実装を無料で取得します。

他のクラスのインスタンスを返すすべてのクラスでメソッドを妨げるものはありません。あなたはいつもSomethingElseが別のクラスである

return new SomethingElse()

を行うことができます。

関連する問題