Jak mogę użyć @link
tagu, aby połączyć się z metodą?
Chcę się zmienić:
/**
* Returns the Baz object owned by the Bar object owned by Foo owned by this.
* A convenience method, equivalent to getFoo().getBar().getBaz()
* @return baz
*/
public Baz fooBarBaz()
do:
/**
* Returns the Baz object owned by the Bar object owned by Foo owned by this.
* A convenience method, equivalent to {@link getFoo()}.{@link getBar()}.{@link getBaz()}
* @return baz
*/
public Baz fooBarBaz()
ale nie wiem jak @link
poprawnie sformatować tag.
Odpowiedzi:
Wiele informacji na temat JavaDoc można znaleźć w specyfikacji komentarza do dokumentacji standardowego dokumentu , w tym na stronie
tag (którego szukasz). Odpowiedni przykład z dokumentacji jest następujący
package.class
Część może być mowa, pominięte jeśli metoda jest w obecnej klasie.Inne przydatne linki na temat JavaDoc to:
źródło
Ogólny format z sekcji @link dokumentacji javadoc to:
Przykłady
Metoda w tej samej klasie:
Metoda w innej klasie, w tym samym pakiecie lub zaimportowana:
Metoda w innym pakiecie i nie zaimportowana:
Etykieta połączona z metodą, zwykłym tekstem, a nie czcionką:
Łańcuch wywołań metod, jak w twoim pytaniu. Musimy określić etykiety dla linków do metod poza tą klasą, albo otrzymamy
getFoo().Foo.getBar().Bar.getBaz()
. Ale te etykiety mogą być kruche; patrz „Etykiety” poniżej.Etykiety
Automatyczne refaktoryzacja nie może wpływać na etykiety. Obejmuje to zmianę nazwy metody, klasy lub pakietu; i zmiana podpisu metody.
Dlatego podaj etykietę tylko wtedy, gdy chcesz mieć inny tekst niż domyślny.
Na przykład możesz utworzyć link z ludzkiego języka do kodu:
Lub możesz linkować z przykładowego kodu z tekstem innym niż domyślny, jak pokazano powyżej w „Łańcuch wywołań metod”. Może to jednak być kruche, gdy interfejsy API ewoluują.
Wpisz kasowanie i #member
Jeśli podpis metody zawiera sparametryzowane typy, użyj kasowania tych typów w javadoc @link. Na przykład:
źródło
możesz użyć
@see
do tego:próba:
źródło