Final Method

mrBrown

Super-Moderator
Mitarbeiter
Dort, wo man Methoden nicht überschreiben können soll 🤷‍♂️ Eine feste Grenze gibts dafür nicht, das kommt immer auf den jeweiligen Anwendungsfall an.


Sind deine ganzen Fragen Übung-/Prüfugsfragen? Oder lernst du grad selbstständig Java?
Das sind so bunt gemischte Fragen, dass es vermutlich besser wäre, erstmal wirklich Grundlagenwissen anzueignen, anstatt alles wild drauf los zu fragen.
 

Junior Java

Mitglied
Ich lerne grade selbständig Java. Ab Januar.2021 muss ich in einem Projekt arbeiten.
Wie meinst du "Grundlagenwissen" anzueignen? Meine Fragen sind alle Grundlagenwissen, oder?
 

mrBrown

Super-Moderator
Mitarbeiter
Also deine Themen bisher waren
* Streams
* Association, Composition, Aggregation
* Scanner oder BufferReader
* Garbage collector
* Final Method

Das ist alles irgendwie auch Grundlagenwissen, aber völlig planlos zusammengewürfelt. "Association, Composition, Aggregation", "Garbage collector" und "Final Method" sind so die drei Eckpunkte eines großen Dreiecks, welches alles enthält, was irgendwie mit Java zu tun hat.

Sinnvoller wäre es, irgendein Buch/Webinar/oä zu nutzen, dass Dinge vernünftig und an einem roten Faden entlang erklären kann.

Ab Januar.2021 muss ich in einem Projekt arbeiten.
Ich hoffe, nur zum mal "reinschnuppern". Klingt wahrscheinlich böse als es gemeint ist, aber wenn du gestern das erste Mal von "Association, Composition, Aggregation" gehört hast, ist das noch weit von jeder produktiven Arbeit entfernt.
 

Junior Java

Mitglied
Das ist alles irgendwie auch Grundlagenwissen, aber völlig planlos zusammengewürfelt.
Ja, völlig planlos, weil die meine Fragen sind. Die Grundlagen, die ich nicht ganz verstanden habe.
Sinnvoller wäre es, irgendein Buch/Webinar/oä zu nutzen, dass Dinge vernünftig und an einem roten Faden entlang erklären kann.

Ja, das habe ich schon. wie ich oben geschrieben habe, die sind meine Fragen.
Ich hoffe, nur zum mal "reinschnuppern".
Nein, das ist richtige Arbeit.
aber wenn du gestern das erste Mal von "Association, Composition, Aggregation" gehört hast, ist das noch weit von jeder produktiven Arbeit entfernt.
Wer sagt, das erste Mal von "Association, Composition, Aggregation" gehört habe?

Wie es aussieht, ihr Programmierer auf diesem Forum nicht mehr als ich Ahnung habt. Bis jetzt habe ich keine Befriedigende Antwort auf meine Fragen bekommen habe.
:)
 

mrBrown

Super-Moderator
Mitarbeiter
Ja, völlig planlos, weil die meine Fragen sind. Die Grundlagen, die ich nicht ganz verstanden habe.
[...]
Ja, das habe ich schon. wie ich oben geschrieben habe, die sind meine Fragen.
Okay, lass es mich anders formulieren:

Wenn all diese Fragen in zwei Tagen aufkommen, hat der Grundlagenkurs absolut keinen roten Faden und taugt nichts, und du solltest dir einen anderen suchen.
Ein Grundlagenkurs, der überhaupt schon solche Fragen aufkommen lässt, ist in meinen Augen ziemlich ungeeignet.

Wer sagt, das erste Mal von "Association, Composition, Aggregation" gehört habe?
Deine Frage, ob dir das jemand kurz erklären kann und wo es Sinn macht ;)


Wie es aussieht, ihr Programmierer auf diesem Forum nicht mehr als ich Ahnung habt. Bis jetzt habe ich keine Befriedigende Antwort auf meine Fragen bekommen habe.
Auf "wo macht es Sinn" gibt es keine zufriedenstellende Antworten.

Falls du eine ausführliche Antwort zu dieser Frage hier möchtest:

Ein Beispiel für finale Methoden wären zb equals und hashCode. Wenn man Ableitungen einer Klasse zulassen möchte, aber gleichzeitig dafür sorgen will, dass das liskovsche Substitutionsprinzip erfüllt bleibt, ist es oft sinnvoll, diese beiden Methoden final zu machen. Eine Alternative dazu wäre eine "canEqual"-Methode, die macht das ganze aber natürlich wieder komplizierter, und ist oftmals auch nicht nötig.

Eine andere Häufige Anwendung sind nicht-private Methode, die im Konstruktor aufgerufen werden. Die Methoden überschreiben kann zu unerwarteten Fehlern führen (da sie eben vor der Initialisierung des Objekts aufgerufen werden), weshalb es sich oft anbietet, diese zu überschreiben.

Außerdem kann es bei Methoden sinnvoll sein, die Werte validieren. Wenn man die Methoden überschreibt, kann man die Validierung umgehen und die Klasse in einen inkonsistenten Zustand bringen – um das zu verhindern kann man die Methoden final machen (wobei man dann natürlich noch dafür sorgen muss, dass sie auch wirklich aufgerufen werden, man muss also meist noch mehr final machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
G final "spammen" + bedeutung Allgemeine Java-Themen 14
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
Neumi5694 Interpreter-Fehler final Eigenschaft während Laufzeit geändert Allgemeine Java-Themen 2
J private static final String variable Allgemeine Java-Themen 8
T Enumeration/Static Final/Bitfield Allgemeine Java-Themen 6
M final vor dem parameter eines Konstruktors Allgemeine Java-Themen 1
D Alle Variablen final setzen ? Allgemeine Java-Themen 26
G Synchronization on non final field Allgemeine Java-Themen 10
Z Als Final deklarierte Klasse im Array sortieren Allgemeine Java-Themen 2
G Klasse als final -> Laufzeitverbesserung? Allgemeine Java-Themen 4
T Final Methode dennoch überschreiben! Allgemeine Java-Themen 10
W Innere Klasse und final Allgemeine Java-Themen 11
A Als FINAL deklarieren -> sinnvoll? Allgemeine Java-Themen 16
S 2 Fragen allgemeine fragen zu final und interface Allgemeine Java-Themen 13
S Reflections und final Allgemeine Java-Themen 19
O does not declare a static final serialVersionUID field of . Allgemeine Java-Themen 6
meez immutable final? Allgemeine Java-Themen 23
S Wave Soundausgabe Java 1.4.2 contra 1.5 Final Allgemeine Java-Themen 27
G final und Variablen Allgemeine Java-Themen 16
B Java 5.0 Final Allgemeine Java-Themen 3
M 1.5 final? Allgemeine Java-Themen 2
mrStudent The method append is not applicable for the arguments (Queue<Integer>, Queue<Integer>) Allgemeine Java-Themen 4
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
J Reflection-Method Hook? Allgemeine Java-Themen 14
B Exception in Application init method Allgemeine Java-Themen 5
M Lambda "invalid method reference no suitable method found" Allgemeine Java-Themen 2
Thallius JSONArray - the method length() is undefined for JSONArray Allgemeine Java-Themen 4
N Per Reflection auf (method) local inner class zugreifen? Allgemeine Java-Themen 3
C Method Area, Stack, Heap Allgemeine Java-Themen 7
R Stop a method??? Allgemeine Java-Themen 34
R Merkwürdiges Verhalten der equals Method Allgemeine Java-Themen 4
D Invalid Method declaration Allgemeine Java-Themen 5
N Method-Annotations in aufgerufener Methode auswerten Allgemeine Java-Themen 2
I Template Method pattern mit "geschützten Methoden" Allgemeine Java-Themen 5
G JavaDoc: Spezielle Beschreibung nur in Method Detail Allgemeine Java-Themen 5
faetzminator IllegalArgumentException bei Method.invoke() Allgemeine Java-Themen 6
R Fehler:method does not override a method from its superclass Allgemeine Java-Themen 3
G javax.jms.IllegalStateException: This method. Allgemeine Java-Themen 4
K Bound mismatch: The generic method sort(List<T>) of ty Allgemeine Java-Themen 4
G Taushen der Input variablen einer method Allgemeine Java-Themen 14
R The mark method of InputStream does nothing. Allgemeine Java-Themen 4
J httpclient: Post-method aber trotzdem "URI to long&quot Allgemeine Java-Themen 4
G Error: Hashtable Type safety: The method put(Object, Object) Allgemeine Java-Themen 6
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
padde479 The static method sleep(long) from the type Thread should. Allgemeine Java-Themen 2
C Code of a method longer than 65535 bytes Allgemeine Java-Themen 3
K The method clone() from the type Object is not visible. Allgemeine Java-Themen 9
O Pointer/reference on method Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben