eclipse - Warnung für ganze Klasse umgehen

Firestorm87

Bekanntes Mitglied
Hallo,

bevor jetzt irgend jemand meint man solle Java lernen bevor man sich mit solchen Sachen auseinander setzt, dem sei gesagt Ich weiß genau was Ich hier tue 🙂

Also es geht um folgende Warunung:
"Static Method should be accessed directly"

Hintergrund:
- Klasse A erbt von Klasse B
- Beide Klassen enthalten nur statische Methoden
- Klasse C und D greift auf diese zu.

Warum getrennt: Klasse C kann zwar A und B sehen, jedoch sieht Klasse D nur A (B nicht!)
Da ich jedoch auch aus C einen einheitlichen einstieg haben möchte, sollen alle zugriffe über A.methode(param) gehen....

Die Warnung mit dem "should be accessed etc" lässt sich natürlich ganz deaktivieren (das wäre Projektweit und das wäre zu großflächig), oder für jede Methode (das sieht mir zu unsauber aus, über jeder 2ten Methode "@SuppressWarnings("static-access")" stehen zu haben.

Gibt es (bzw kennt jmd) eine möglichkeit sowas für alle Zugriffe auf A zu deaktivieren (z.B. über eine Annotation in A?

Gruß
Firestorm
 
hast du ein Code-Beispiel?
wenn diese Fehlermeldung kommt, dann meiner Meinung nach nur, wenn es auch möglich wäre, B statt A vor den statischen Klassenname zu setzen, also B genauso sichtbar ist

ach so, es geht um C, nicht um D,
na so viele Klassen sind doch nicht betroffen oder? Ds kann es public viele geben, die Menge der C-Klassen ist sicher beschränkt,
du kannst @SuppressWarnings("static-access") auch oben an die Klasse C schreiben, nicht pro Methode einzeln
 
Hallo Slater,

natürlich kommt diese Warnung auch nur wenn A und B sichtbar sind, denn es wäre faktisch möglich B statt A zu nutzen.
Ich möchte es einfach der einfachhaltshalber nicht, da es sich um technische Prüfungen handelt, die Ich gerne direkt per Technik.prüfeA(...) ansprechen möchte.

Zum anderen heißen die beiden Klassen auch gleich, damit Sie auch in Klassen die nur B sehen genau so angesprochen werden wie sonst. (Ist eben relativ häufig gebraucht und einen klassennamen kann sich jeder merken 😉 )

Das ganze hat natürlich zur Folge, dass Ich mit einer Klassenweiten @SuppressWarnings hier warnungen deaktivere, die in anderen Zusammenhängen ja durchaus sinnvoll sind (wir blenden die Warnungen ja normal nicht ein um Sie zu ignorieren 😛).
Daher war Ich eben auf der Suche die für genau ein Ziel, nicht für eine Quelle zu deaktivieren...

Wenns nicht möglich ist, dann muss Ich mit einem Kompromiss leben (wie immer im Leben)...

Aber schonmal Danke

/EDIT: Wenn gewünscht kann ich natürlich auch ein kleines Codebeispiel fertig machen...

/EDIT2: Ich habe mir nun vorerst damit geholfen, dass Ich alle Methoden der Klasse B in A überschrieben habe und dort auf die Ursprungsmethode verweise.
Nicht das beste, aber das beste was mir vorerst einfällt 🙂
Wenn also jemand eine bessere Idee hat.... immer her damit 🙂
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben