2016-01-27 160 views
2

說我有兩類:如何重寫方法的javadoc而不重寫方法本身?

public abstract class AbstractFoo { 

    /** 
    * Do bar. Subclasses may override this method, it is not required that they do baz. 
    */ 
    public void bar() { 
     // default implementation 
    } 

} 

public class ConcreteFoo extends AbstractFoo { 

    /** 
    * Do bar. <b>Note:</b> does not do baz, you have to do it yourself. 
    */ 
    @Override 
    public void bar() { 
     super.bar(); 
    } 
} 

在子類(ConcreteFoo),我想重寫bar()的javadoc的,但保持作爲實現超類中(AbstractFoo)。有沒有辦法做到這一點,而不是重寫方法?

+1

號你爲什麼要這麼做? – Marcinek

+0

這樣做沒有意義。 – null

+0

@HubertPopiołkiewicz我會爭辯。參見上面的例子:在抽象類中,我想給那些將擴展它的人留下一個註釋,而在具體的實現中則會解釋那些將使用它的人。例如。 「默認的實現不是失敗安全的,子類可以重寫這個」vs「這個實現是失敗保護/不失敗保護」 – Actine

回答

0

不,絕對沒有辦法做到這一點。
你應該,但是,使用

/** 
* {@inheritDoc} 
* add whatever you would like here 
*/ 

符號作爲實現的javadoc,如果你打算真正覆蓋方法。

0

沒有辦法做到這一點,但您可以使用的Javadoc的克隆方法:

創建相同的類此對象的新對象。然後,通過爲每個新對象的字段分配與此對象中相應字段相同的值來初始化它們。沒有構造函數被調用。

According to this