2011-03-09 53 views
11

我不想編寫多餘的javadoc註釋。正如你所看到的,@param x是多餘的。是否有一個javadoc標記可將@param x中的類B設置爲@param x,並將A中的參考設置爲?還是允許我忽略它?另一種方法的Javadoc參考參數

/** 
* Class A constructor 
* 
* @param x position on x-axis 
*/ 
public A(final int x) { 
    this.x = x; 
} 

/** 
* Class B constructor 
* 
* @param x position on x-axis 
* @param y position on y-axis 
*/ 
public B(final int x, final int y) { 
    super(x); 
    this.y = y 
} 
+0

我會退後一步,問你爲什麼記錄看起來有明顯含義的參數。如果代碼是基於您選擇的名稱進行自我記錄的,那麼JavaDoc在很大程度上是不相關的。 – 2011-03-09 23:38:08

+0

@John這是一個最小的例子,僅用於說明。 – Matthias 2011-04-02 11:52:39

+0

請注意:[{@inheritDoc}](http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javadoc.html#inheritingcomments)至少允許複製覆蓋方法的文檔。 – Matthias 2012-09-26 15:40:37

回答

3

你不能離開它,javadoc是不聰明的,它只是解析的意見,他不能說,x參數爲B構造比一個構造函數,即使有相同在繼承中發揮作用。

我不認爲有辦法「分解」這一點。你只需要編寫所有這些,對不起...

1

它應該工作的方法:如果覆蓋或實現一個方法,如果沒有提供參數將被複制。

構造函數不是繼承的,更不是帶有其他參數類型的構造函數。 Javadoc無法知道您將該參數傳遞給另一個構造函數,因爲它不解釋方法/構造函數的內容,僅解釋外部接口。所以,如果你不想寫自己的doclet或者改變標準的doclet(即使這樣你也不得不說某個構造函數繼承了params),我想你是不走運的。 (這將是一個有用的補充,也適用於同一類中的多個類似方法,我認爲)。

1

如果您重寫父級方法,如果不包含javadoc,大多數IDE將顯示javadoc for父方法。否則,無法在javadoc語法中定義/引用變量。