日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

继承Javadoc方法注释

發布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 继承Javadoc方法注释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

盡管用于javadoc工具的JDK工具和實用程序頁面通過實現和繼承方法來描述Javadoc方法注釋重用的規則,但是當實際上不需要使用{@inheritDoc}時,很容易不必要地顯式描述注釋繼承,因為會使用相同的注釋隱式繼承。 Java 8 javadoc工具頁面在“ 方法公共繼承 ”部分描述了繼承方法Javadoc注釋的規則,而Java 7 javadoc工具頁面在“ 方法注釋的自動復制 ”部分類似地描述了這些規則。 這篇文章使用簡單的代碼示例來說明Javadoc方法注釋繼承的一些關鍵規則。

以下接口和類是人為設計的示例,這些示例將在本文中用于說明對方法的Javadoc注釋的繼承。 一些繼承/實現的方法包括它們自己的Javadoc注釋,這些注釋會完全或部分覆蓋父/接口的方法注釋,而其他方法只是重用父/接口的方法的文檔。

草食界面

package dustin.examples.inheritance;/*** Marks animals that eat plants.*/ public interface Herbivorous {/*** Eat the provided plant.** @param plantToBeEaten Plant that will be eaten.*/void eat(Plant plantToBeEaten); }

食肉接口

package dustin.examples.inheritance;/*** Marks an Animal that eats other animals.*/ public interface Carnivorous {/*** Eat the provided animal.** @param animalBeingEaten Animal that will be eaten.*/void eat(Animal animalBeingEaten); }

雜食性界面

package dustin.examples.inheritance;/*** Eats plants and animals.*/ public interface Omnivorous extends Carnivorous, Herbivorous { }

胎生接口

package dustin.examples.inheritance;/*** Mammals that give birth to young that develop within* the mother's body.*/ public interface Viviparous {/*** Give birth to indicated number of offspring.** @param numberOfOffspring Number of offspring being born.*/void giveBirth(int numberOfOffspring); }

動物類

package dustin.examples.inheritance;/*** Animal.*/ public abstract class Animal {/*** Breathe.*/public void breathe(){}/*** Communicate verbally.*/public abstract void verballyCommunicate(); }

哺乳動物類

package dustin.examples.inheritance;/*** Mammal.*/ public abstract class Mammal extends Animal { }

哺乳類

package dustin.examples.inheritance;import java.awt.*;/*** Mammal with hair (most mammals other than dolphins and whales).*/ public abstract class MammalWithHair extends Mammal {/** Provide mammal's hair color. */public abstract Color getHairColor(); }

狗類

package dustin.examples.inheritance;import java.awt.Color;import static java.lang.System.out;/*** Canine and man's best friend.*/ public class Dog extends MammalWithHair implements Omnivorous, Viviparous {private final Color hairColor = null;/*** {@inheritDoc}* @param otherAnimal Tasty treat.*/@Overridepublic void eat(final Animal otherAnimal){}/*** {@inheritDoc}* @param plantToBeEaten Plant that this dog will eat.*/@Overridepublic void eat(final Plant plantToBeEaten){}/*** {@inheritDoc}* Bark.*/public void verballyCommunicate(){out.println("Woof!");}/*** {@inheritDoc}* @param numberPuppies Number of puppies being born.*/@Overridepublic void giveBirth(final int numberPuppies){}/*** Provide the color of the dog's hair.** @return Color of the dog's fur.*/@Overridepublic Color getHairColor(){return hairColor;} }

貓類

package dustin.examples.inheritance;import java.awt.Color;import static java.lang.System.out;/*** Feline.*/ public class Cat extends MammalWithHair implements Carnivorous, Viviparous {private final Color hairColor = null;/*** {@inheritDoc}*/@Overridepublic void eat(final Animal otherAnimal){}@Overridepublic void verballyCommunicate(){out.println("Meow");}@Overridepublic void giveBirth(int numberKittens){}@Overridepublic Color getHairColor(){return hairColor;} }

馬類

package dustin.examples.inheritance;import java.awt.Color;import static java.lang.System.out;/*** Equine.*/ public class Horse extends MammalWithHair implements Herbivorous, Viviparous {private final Color hairColor = null;/*** @param plant Plant to be eaten by this horse.*/@Overridepublic void eat(final Plant plant){}/****/@Overridepublic void verballyCommunicate(){out.println("Neigh");}/*** @param numberColts Number of colts to be born to horse.*/@Overridepublic void giveBirth(int numberColts){}@Overridepublic Color getHairColor(){return hairColor;} }

下一個屏幕快照顯示了包的內容,其中包括上面顯示了代碼清單的接口和類(并非包中的所有類和接口都顯示了其代碼清單)。

從方法的Javadoc角度來看,這里最感興趣的三個類是Dog , Cat和Horse類,因為它們實現了多個接口并擴展了MamalWithHair ,后者擴展了Mammal ,后者擴展了Animal 。

下一個屏幕快照是在Web瀏覽器中呈現的Animal類的Javadoc的快照。

Animal類不會從超類繼承任何方法,也不會從接口實現任何方法,對于本博客文章的主題而言,這不是很有趣。 但是,這里顯示的其他類擴展了該類,因此很有趣的是看到其方法注釋如何影響繼承類的方法說明。

接下來的兩個屏幕快照是在Web瀏覽器中呈現的Mammal和MammalWithHair類的Javadoc的快照。 關于Mammal任何意義,沒有Javadoc注釋,但是對于MammalWithHair引入的新方法,只有一個方法注釋。

接下來的三個屏幕快照是Web瀏覽器中用于Herbivorous , Carnivorous和Omnivorous接口的Javadoc文檔子集。 這些接口提供了將由實現這些方法的類繼承的方法的文檔。

使用為父類和接口顯示的生成的Javadoc方法文檔,現在可以查看為擴展這些類并實現這些接口的類的方法生成的文檔。

前面顯示的Dog類中的方法通常將{@inheritDoc}與其他文本結合使用。 從擴展類和已實現的接口繼承Javadoc注釋方法的結果與Dog注釋中提供的附加測試相結合,顯示在下一個屏幕快照中。

屏幕快照的最后一組展示了Dog類的文檔將其“父母”的文檔與自己的特定文檔混合在一起。 這不足為奇。 Dog類的方法通常從父類(基類和接口)顯式繼承Javadoc文檔,但是Cat類除其eat方法(僅使用{@inheritDoc} )外,幾乎沒有對其方法的Javadoc注釋。 下一個屏幕快照顯示了從此類生成的Web瀏覽器輸出。

Cat中沒有應用Javadoc注釋的方法會在生成的Web瀏覽器文檔中顯示,這些文檔的文檔是從其基類或接口繼承的,而這些方法的文檔包括短語“從類復制說明:”或“從接口復制說明: “ 作為適當的。 明確包含文檔標記{@inheritDoc}的一個Cat方法確實復制了父方法的文檔,但不包含“從...復制說明”消息。

Horse類的方法通常根本沒有記錄在文檔中,因此它們生成的文檔包括消息“從...復制說明”。 Horse類的eat()和giveBirth()方法會覆蓋@param部分,因此生成的Web瀏覽器文檔中的這兩個方法的參數文檔(在下一組屏幕快照中顯示)特定于Horse 。

從上面的代碼清單和該代碼生成的文檔的屏幕快照,可以通過擴展和實現類來觀察方法Javadoc注釋的繼承。 這些觀察結果也在javadoc工具文檔中進行了描述:

  • Javadoc注釋從父類的方法和已實現的接口方法繼承,或者在未指定文本時隱式繼承(根本沒有Javadoc或空Javadoc /** */ )。
    • javadoc文檔 :“ javadoc命令允許在類和接口中繼承方法注釋,以填充缺少的文本或顯式繼承方法注釋?!?
  • 使用{@inheritDoc}明確指出應繼承注釋。
    • Javadoc文檔 :“插入{@inheritDoc}的方法中的主要描述或內嵌代碼@return , @param ,或@throws標記注釋。
  • 通過在方法注釋內不同位置使用{@inheritDoc}標簽,可以組合使用方法文檔的隱式和顯式繼承。

鑒于上述觀察結果,并提供了廣告宣傳的“ 方法注釋算法 ”,從Javadoc生成HTML角度來看,編寫Javadoc的一個好的經驗法則是在盡可能高的級別上定義一般注釋,并允許自動繼承擴展類和已實現接口的方法的Javadoc文檔將出現,僅添加或覆蓋方法的Javadoc文本的某些部分,這些部分對于澄清或增強對低級方法的描述是必需的。 這比在繼承或實現層次結構中的所有方法上復制并粘貼相同的注釋,然后再將它們全部更新在一起更好。

這篇文章重點介紹了生成的Javadoc方法文檔的Web瀏覽器演示。 幸運的是,最常用的Java IDE( NetBeans [ CTRL + hover ], IntelliJ IDEA [ CTRL + Q / 設置 ], Eclipse [ F2 / hover / Javadoc View ]和JDeveloper [ CTRL-D ])支持Javadoc的演示,遵循方法文檔繼承的相同規則。 這意味著Java開發人員通常可以編寫較少的文檔,幾乎可以完全避免在繼承和實現層次結構中重復文檔。

翻譯自: https://www.javacodegeeks.com/2016/11/inheriting-javadoc-method-comments.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的继承Javadoc方法注释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一中文字幕 | 三度诱惑免费版电影在线观看 | 波多野结衣大片 | 日韩中文字幕视频在线 | 九九热视频这里只有精品 | 日本不卡一区二区在线观看 | 波多野结衣福利 | 老司机精品福利视频 | 国产视频高清 | √资源天堂中文在线 | 日韩精品色| 天堂√在线 | 日韩精品视频在线免费观看 | 欧美片一区二区 | 五月天黄色网 | 六月婷婷久久 | 天天看夜夜爽 | 美女又爽又黄免费 | 色永久 | 久久精品韩国 | 一级黄色a毛片 | 一区二区三区视频在线 | 日本成人在线免费观看 | 精品人妻一区二区三区四区 | 亚洲色图p| 国产精品日韩一区二区 | 动漫美女舌吻 | 一区二区三区av | 操穴网站 | 亚洲不卡在线 | 欧美区日韩区 | 日韩成人中文字幕 | 亚洲精品在线免费观看视频 | 天天躁日日躁bbbbb | 久久久夜色精品亚洲 | 亚洲国内在线 | 小草av在线 | 国产粉嫩av | 中文字幕国产一区 | 色偷偷免费视频 | 亚洲午夜片 | 国产免费又黄又爽又色毛 | 亚洲精品男女 | 欧美日韩人妻精品一区在线 | 成年人性生活免费视频 | 欧美精品成人一区二区三区四区 | 久久久久一区二区精码av少妇 | 欧洲色av | 亚洲国产精品久久久久婷蜜芽 | 日韩成人av片 | 草久在线视频 | 日批av| 黑人极品videos精品欧美裸 | 偷拍中国夫妇高潮视频 | 又黄又爽视频 | 亚洲精品影片 | 超碰97观看 | 亚洲精品福利 | 天堂网av手机版 | 色哟哟中文字幕 | 少妇太紧太爽又黄又硬又爽小说 | 草久久 | 精品丰满人妻无套内射 | 国产一区二区在 | 东北少妇av | 欧美日韩性生活视频 | 国产美女无遮挡网站 | 亚洲专区第一页 | 中文字幕成人在线观看 | 中文字幕第十二页 | 国产成人精品无码片区在线 | 久久精品国产亚洲av麻豆 | 少妇厨房愉情理伦bd在线观看 | 激情www| 国产精品久久网站 | 黄色网免费看 | 五月天丁香| 五月综合在线 | 手机av在线网 | 黄色在线观看国产 | 久久久久亚洲av成人网人人软件 | 18成人免费观看网站 | 欧美精品成人一区二区在线观看 | 男女午夜免费视频 | 在线综合色| 国产在线视频二区 | 久久久久成人精品无码中文字幕 | 黄色的网站免费看 | 胖女人做爰全过程 | 一道本一区 | 国产色网 | 国产亚洲欧美精品久久久久久 | 亚洲天堂色 | 国产精品久久久一区 | 欧美黄色性 | 尤物在线免费视频 | 日韩在线国产精品 | 噜噜视频 | 亚洲精品高清视频在线观看 |