javadoc interface + implementation + @overrides

Status
Nicht offen für weitere Antworten.

diggaa1984

Top Contributor
hiho,

hab mich grad mal was gefragt und will euch das nich vorenthalten :D
bsp folgt:
Code:
public interface SimplePerson {

    /**
     * Adds a new entry to the existing data.
     * 


     * @param attribute A new attribute.
     * @param value The value that will be assigned to the attribute
     * @return <code>true</code> if successfully added, else <code>false</code>
     */
    public boolean addEntry(String attribute, String value);
}
Code:
public class ArrayListPerson implements SimplePerson {

    /**
     * Given <code>attribute</code> must be different from existing attributes
     * and need to consist of at least 1 character.
     */
    public boolean addEntry(String attribute, String value) {
        if ((! attributes.contains(attribute)) && (!attribute.equals(""))) {
            attributes.add(attribute);
            data.add(value);
            return true;
        }//if
		
        return false;
    }//addEntry
}//class ArrayListPerson

so, wenn ich das ganze so gestalte, dann seh ich in der javadoc zu ArrayListPerson#addEntry nur den dortigen Comment .. soweit klar :D

Wenn ich statt dem Comment dort nur @Override davorschreibe, dann sehe ich in ArrayListPerson#addEntry den Comment aus'm Interface.

Nun die Frage, kann ich das mixen, also als Grundlage den Comment aus'm interface nutzen, aber zusätzlich den Comment der Implementierung erhalten?

also in der Javadoc sollte dann vielleicht sowas stehen:
Adds a new entry to the existing data.
Given attribute must be different from existing attributes and need to consist at least of 1 character.

Parameters:
attribute A new attribute.
value The value that will be assigned to the attribute
Returns:
true if successfully added, else false
 

Ebenius

Top Contributor
Hallo,

an dieser Stelle möchte ich eben mal anmerken, dass @Override eigentlich nicht dafür gedacht ist, Methoden zu markieren die Methoden eines Interfaces implementieren. Mir ist mir hier im Forum mehrfach aufgefallen, dass dies von manchem anders gehandhabt wird.

Dazu sagt die API-Doc von @Override:
Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required to generate an error message.

Gruß, Ebenius
 

Ebenius

Top Contributor
Verjigorm hat gesagt.:
Hm ich hab gradmal nachgeschaut: Eclipse setzt ein @Override vor die Methode...

:shock:

Meins nicht. Das ist eigenartig, ich kann dazu auch keine Einstellungen finden. Die Einstellung "Java » Code Style » Add '@Override' annotation for new overriding methods" ist eingeschaltet und funktioniert auch bei überschriebenen Methoden. Bei implementierten Methoden kommt da nix.

Wenn ich die '@Override' Annotation anhänge bekomme ich vom Eclipse JDT einen Compile Error "The method run() of type new Runnable(){} must override a superclass method" bei diesem Konstrukt:
Code:
new Runnable() {
    
  @Override
  public void run() {
  /* PENDING: Auto-generated method body */

  }
};

Meine Eclipse-Version:
Version: 3.4.0
Build id: I20080617-2000

Wie auch immer, die API-Doc sagt klar, nur überschriebene Methoden aus Super-Classes.

Grüße, Ebenius
 

Ebenius

Top Contributor
Habe eben mal nach Referenzen im JDK-Source Code gesucht. Als Beispiel kann ich javax.swing.DefaultListCellRenderer aus JDK1.6.0_10 anführen. Einzige implementierte Methode "getListCellRendererComponent(...)" hat kein @Override, die ganzen überschriebenen "fireXXX(...)" haben die Annotation.

Grüße, Ebenius
 

diggaa1984

Top Contributor
ja son override is ja auch bei interfaces sinnvoll, wenn sich da mal die specs aendern, was wenn hoffentlich nur selten vorkommt, oder wenn man sich verschrieben hat beim methodenkopf, dann wirds eben dadurch gleich durch compiler gefischt, und man wird sofort auf den fehler aufmerksam.

und sonst funktionierts mit dem tag wunderbar, besten dank :D .. sollt ich wohl mal wieder öfter die javadoc-api wälzen .. wer weiss was es da noch alles tolles gibt ^^
 

Ebenius

Top Contributor
maki hat gesagt.:
Ab Java 6 ist das erlaubt.
Ist halt Mist, dass ich recht wenig mit Java 6 machen kann. Ich habe gerade erst durchkämpfen können, nicht mehr Java 1.4 kompatibel programmieren zu müssen. Java 6 ist beruflich sicher noch ein Jahr Zukunft für mich. :-S

Dass mich dann aber auch noch die Java 6 API-Doc belügt... :shock:

Tststs, Ebenius
 
M

maki

Gast
Das Problem kenn ich nur zu gut, bis vor einem 1,5 Jahren musste es Java 1.4 sein, danach 1.5.

Im Moment bin ich soz. frei, kann sich aber schnell wieder ändern...

Auf die Sache mit der @Override Anno bin ich nur gekommen, weil ich im letzten Projekt der einzige war, der den Compliance Level auf 1.6 hatte, bei mir gings, bei sonst keinem mehr... *peinlich*

Nachtrag: Glaube es ging mal darum, auch implementierte Methoden durch Annos prüfen zu lassen, anstatt nur überschriebene. Man hat sich dann gegen eine neue Anno (@Implements) entschieden, obwohl "to override" eigentlich ganz klar etwas anderes ist als "to implement".
Naja, die Jungs von Sun werden's schon wissen...
 

diggaa1984

Top Contributor
warum bleibt man so ewig an alten versionen hängen, die lib mit auszuliefern is ja nu nich das problem, oder gehts darum, dass die sonstige Umgebung des Systems vielleicht nicht kompatibel mit neuen java-versionen wäre, oder weil nur teilsysteme erneuert werden, und der rest auf alter java-version beruht?
 
M

maki

Gast
diggaa1984 hat gesagt.:
warum bleibt man so ewig an alten versionen hängen, die lib mit auszuliefern is ja nu nich das problem, oder gehts darum, dass die sonstige Umgebung des Systems vielleicht nicht kompatibel mit neuen java-versionen wäre, oder weil nur teilsysteme erneuert werden, und der rest auf alter java-version beruht?
Es gibt keine Garantien dass die Software auf der neuen Plattform genauso funktioniert wie auf der alten, ein Softwaresystem zu testen kostet u.U. sehr viel Geld, ein Restrisiko gibt es immer, je weniger Tests, umso größer das Risiko.

Für die Fachabteilungen ist es eben kein Argument, dass die Entwickler dann mit der letzten Version arbeiten können.. speziell wenn dadurch erstmal keine neuen Funktionen hinzukommen.
 

Ebenius

Top Contributor
diggaa1984 hat gesagt.:
warum bleibt man so ewig an alten versionen hängen, die lib mit auszuliefern is ja nu nich das problem, oder gehts darum, dass die sonstige Umgebung des Systems vielleicht nicht kompatibel mit neuen java-versionen wäre, oder weil nur teilsysteme erneuert werden, und der rest auf alter java-version beruht?

Bei uns hat's zwei Gründe:

1) Die Software die wir bauen wird im Intranet mehrerer Großfirmen eingesetzt und über JavaWS verteilt. Die RT kann ich dabei gar nicht ersetzen.

2) Es gibt Kunden die zuerst von allen Java-S/W-Anbietern schriftlich haben möchten, dass Ihr System gegen Java X getestet ist, bevor sie Java X zulassen und auf alle Ihre Clients gleichzeitig ausrollen.

So ist's leider manchmal. Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Was sollte man ins JavaDoc implementieren?? Allgemeine Java-Themen 17
K JDK installieren JavaDoc hinzufügen Allgemeine Java-Themen 10
R Probleme mit Javadoc Allgemeine Java-Themen 2
V Javadoc-Tags Allgemeine Java-Themen 2
S Javadoc hört einfach auf Allgemeine Java-Themen 4
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
S javadoc java.lang.NullPointerException Allgemeine Java-Themen 2
D Javadoc - API-Dokumentation Allgemeine Java-Themen 2
J Eclipse Javadoc mit Eclipse erstellen Allgemeine Java-Themen 10
P javadoc als pdf Allgemeine Java-Themen 3
B javadoc, 2 sprachig Allgemeine Java-Themen 3
S Javadoc 3d einbinden macht probleme Allgemeine Java-Themen 10
DEvent Wieso ist Javadoc mit Html Tags? Allgemeine Java-Themen 47
X Javadoc Allgemeine Java-Themen 10
hdi Javadoc Comments: IllegalArgumentException deklarieren? Allgemeine Java-Themen 3
J Eclipse JavaDoc Template Allgemeine Java-Themen 16
P JavaDoc und Backslashes: "Invalid unicode" Allgemeine Java-Themen 3
C eine eigene Javadoc erstelen Allgemeine Java-Themen 3
S JavaDoc aus .class Datei extrahieren Allgemeine Java-Themen 5
M Javadoc | Javadoc Eintrag des verlinkten Element einbetten? Allgemeine Java-Themen 4
M Ant & javadoc-Task Allgemeine Java-Themen 1
G JavaDoc: Spezielle Beschreibung nur in Method Detail Allgemeine Java-Themen 5
Schandro Annotation vs Javadoc bei Konstanten Allgemeine Java-Themen 2
G Javadoc Sichtbarkeiten Allgemeine Java-Themen 3
B JavaDoc auf deutsch? Allgemeine Java-Themen 8
G javadoc fehler bei rawtypes Allgemeine Java-Themen 3
S javadoc inheritDoc funktioniert nicht Allgemeine Java-Themen 6
S Javadoc einbinden Allgemeine Java-Themen 8
T JAR mit embedded Source/JavaDoc? Allgemeine Java-Themen 8
H Frage zu JavaDoc Allgemeine Java-Themen 5
V javadoc mergen / aus mehreren eclipse plugins ein javadoc Allgemeine Java-Themen 3
T JavaDoc Allgemeine Java-Themen 2
G Javadoc generiert keine Links zu java.lang Klassen? Allgemeine Java-Themen 4
G Bilder in javadoc einbinden Allgemeine Java-Themen 5
Y Javadoc - Wie Parameter ansprechen bei Methodenkommentar Allgemeine Java-Themen 2
F Javadoc: @value tag nicht für private fields? Allgemeine Java-Themen 11
G Javadoc Zeilenumbruch Allgemeine Java-Themen 2
N Javadoc in Deutsch? Allgemeine Java-Themen 9
@ Javadoc: Kurzbeschreibung Packages Allgemeine Java-Themen 10
F Linguistische Fragen zu Javadoc bzw. Englisch Allgemeine Java-Themen 4
padde479 javadoc.exe Eclipse Allgemeine Java-Themen 3
G javadoc macht probleme Allgemeine Java-Themen 2
T Konstruktoren werden nicht in Javadoc angezeigt Allgemeine Java-Themen 2
T Über Javadoc hinausgehende Doku? Allgemeine Java-Themen 4
M Wie lädt Eclipse die Javadoc Allgemeine Java-Themen 14
K Javadoc, was gehört rein? Allgemeine Java-Themen 10
Redfrettchen Javadoc unter Eclipse Allgemeine Java-Themen 2
T Javadoc deutsch? Allgemeine Java-Themen 5
G CSS für Javadoc Allgemeine Java-Themen 2
C javadoc Allgemeine Java-Themen 4
P Javadoc -> Autmatisiertes @version Tag Allgemeine Java-Themen 6
S javadoc: package problem Allgemeine Java-Themen 3
A Javadoc erzeugen Allgemeine Java-Themen 4
G javadoc, pakete Allgemeine Java-Themen 3
M JavaDoc per Batch? Allgemeine Java-Themen 7
I Probleme mit Javadoc (5.0 RC) Allgemeine Java-Themen 6
B Wie sehen gute JavaDoc-Kommentare aus? Allgemeine Java-Themen 10
V Javadoc ertellt keine korrekten links Allgemeine Java-Themen 3
chik JavaDoc als PDF oder RTF Allgemeine Java-Themen 3
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
OnDemand Interface imlementieren Allgemeine Java-Themen 4
Buroto Interface Allgemeine Java-Themen 2
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
B JaxB und @XmlIDREF mit Interface Allgemeine Java-Themen 1
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
Kirby.exe Autocloseable Interface Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S static in Interface und Klasse Allgemeine Java-Themen 2
S static methode im Interface Allgemeine Java-Themen 1
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
C Ein Iterator ist eine Implementierung des Interface Iterable? Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
mrBrown Namensfindung Fluent-Interface Allgemeine Java-Themen 0
J Logik in Interface Allgemeine Java-Themen 2
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
B eigenes Consumer Interface Allgemeine Java-Themen 0
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
N GUI Interface, swing Allgemeine Java-Themen 7
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
T Interface vs abstract Allgemeine Java-Themen 2
S Klassen Abstract, Interface und ein Chat Tool Allgemeine Java-Themen 1
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
N Problem mit Generics und Interface Allgemeine Java-Themen 4
D Methode mit optionalen Parametern in Interface Allgemeine Java-Themen 3
T Interface mit generische Typen Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
J Interface Serializable Methodensignatur Allgemeine Java-Themen 2
J Interface Interface für Framework verwenden Allgemeine Java-Themen 4
F Interface IInterface oder Interface? Allgemeine Java-Themen 3
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
T Interface Probleme Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben