1

Javaで再作成している次の機能階層があります。

   Diagram
     |
     |--Model
          |
          |--Entity

これらのオブジェクトはすべて、いくつかの共通のプロパティ (id、name) を共有し、階層内の親オブジェクトへの参照も共有します。だから私は抽象クラスを実装しました:

abstract class DBObject{
   private final int id;
   private final String name;
   private final DBObject parent;

   //constructors, getters, setters here

   /**
    * @return reference to parent object in hierarchy.
    */
    public final getParent(){
       return parent;
    }
}

これまでのところ問題ありません。問題は、Diagram には親がなく、常に null を返すことです。これは実装によって保証されます。しかし、Diagram Javadocに「親は常にnull」を反映したいと思います。メソッドをオーバーライドせずにJavadocをオーバーロードすることは可能ですか? 解決策は、抽象クラスでメモとして記載することですが、それは私が探している答えではありません。

ありがとう。

4

2 に答える 2

1

Javadoc を置き換えるには、子クラスのメソッドをオーバーライドする必要があります。

例えば

Iterator.iterator() は
Collection.iterator() でオーバーライドされ、
Set.iterator() でオーバーライドされ、
NavigableSet.iterator() でオーバーライドされ、それぞれに異なる Javadoc を提供します。

于 2012-09-21T12:31:13.740 に答える
1

これはどう?

/**
* @return reference to parent object in hierarchy. may be null.
*/
@Nullable
public final DBObject getParent(){
   return parent;
}
于 2012-09-21T12:28:10.197 に答える