Als FINAL deklarieren -> sinnvoll?

Status
Nicht offen für weitere Antworten.
A

anfang

Gast
Eclipse schlägt vor mehrere Variablen als final zu definieren sollte man den Vorschlag folgen?
Und wieso?

Ich hatte:

Code:
public static void main(String[] args) {
    Frame frame = new Frame();

Vorgeschlagen würde:

Code:
public static void main(final String[] args) {
    final Frame frame = new Frame();

sogar vor Exception setzte es final

Code:
catch(final Exception e) {
      e.printStackTrace();
    }

gruß Pepe
 
B

Beni

Gast
Das final könnte höchstens ein versehentliches Überschreiben einer Variable verhindern, aber wie wahrscheinlich ist das schon?

Also: machs wenn du willst und es Übersichtlich findest, notwendig ist es nicht.
 

nocxsville

Bekanntes Mitglied
Ich persönlich finde das sehr wichtig. Man sollte generell so viel wie möglich final setzen. Das verhindert bei Methoden ungewolltes überschreiben und bei Variablen ungewolltes Wertverändert / Referenzverbiegen. So kann man mit unter viel schneller Fehlerquellen ausfindeig machen.

Gruß,
nocxsville.
 

mephi

Bekanntes Mitglied
final bedeutet ja bei primitiven datentypen, dass sie nicht verändert werde können.. und bei refernzen auf objekte? eigentlich nur dass die referenz nun immer darauf zeigt und auf das objekt selber hat es keinen einfluss oder?
sry benutz das ziemlich selten :)
 
S

SlaterB

Gast
anders macht es keinen Sinn

bei allgemein unveränderlichen Objekten wie String/ Integer kommts natürlich in etwa hin
 

byte

Top Contributor
mephi hat gesagt.:
final bedeutet ja bei primitiven datentypen, dass sie nicht verändert werde können.. und bei refernzen auf objekte? eigentlich nur dass die referenz nun immer darauf zeigt und auf das objekt selber hat es keinen einfluss oder?

So ist es. Und von finalen Klassen kann man nicht mehr ableiten.
 

Leroy42

Top Contributor
Bei final deklarierten Methoden kann ein enormer Performancegewinn
erreicht werden, da die JVM diese Methoden nicht über eine Funktionstabelle
aufrufen könnte.

Das macht allerdings nur dann Sinn, wenn du eine Methode ein paar
hunderttausend Mal aufrufst.
 

mephi

Bekanntes Mitglied
und was genau geschieht da, dass den performancegewinn ausmacht? und was heißt dass zB für den rückgabewert?
 

byte

Top Contributor
Mit dem Rückgabewert hat das nix zu tun. Die VM kann finale Methoden intern halt anders handhaben (Stichwort: späte Bindung, Polymporphie). Aber der Performance-Gewinn ist eher maginal, um nicht zu sagen: vernachlässigbar.
 
G

Gast

Gast
ich würde auch sagen, man sollte sich nicht seinen source mit finals zupflastern nur wegen nem eventuellen performancegewinn
 

byte

Top Contributor
Wie gesagt: beim Entwickeln einfach ignorieren und am Ende mit einem Klick die finals rein-refactorn. ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
G final "spammen" + bedeutung Allgemeine Java-Themen 14
J Final Method Allgemeine Java-Themen 9
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
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
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
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
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
A Scanner Variable Klassenimtern deklarieren Allgemeine Java-Themen 12
Javafan01 Deklarieren einer Math.random() Zufallszahl Allgemeine Java-Themen 16
D Nutzen, erst deklarieren, oder neu erstellen? Allgemeine Java-Themen 11
hdi Javadoc Comments: IllegalArgumentException deklarieren? Allgemeine Java-Themen 3
D Array oder Vector in Enum Deklarieren Allgemeine Java-Themen 3
B Volatile Frage: Reicht es nur den Singleton als volatile zu deklarieren? Allgemeine Java-Themen 4
S Statische Methoden in abstrakte Klassen deklarieren? Allgemeine Java-Themen 17
8u3631984 Bilder in Datenbank speichern - sinnvoll Allgemeine Java-Themen 5
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
W Wieviele Threads sind sinnvoll? Allgemeine Java-Themen 8
J wie sollte man sinnvoll seinen Code aufteilen Allgemeine Java-Themen 6
I Laden von Informationen aus Dateien: Austauschbarkeit: 2 Dateien sinnvoll? Allgemeine Java-Themen 2
M Welche Exceptionbehandlung ist sinnvoll? Allgemeine Java-Themen 3
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
F Enums als innere Klasse sinnvoll? Allgemeine Java-Themen 3
C Best Practice [Arrays] Wie sinnvoll prüfen, ob Array primitive Datentypen enthält? Allgemeine Java-Themen 6
D Fehlgeschlagene Logins zählen... Was ist sinnvoll? Allgemeine Java-Themen 2
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
G Interface Laden der Konfiguration über Interfaces sinnvoll? Allgemeine Java-Themen 28
P Eclipse Java RCP mit Eclipse e4 - sinnvoll? Allgemeine Java-Themen 3
B Datentypen JMF: Player LinkedList sinnvoll? ca 30 kurze Sounddateien Allgemeine Java-Themen 3
S [THREADS] Thread sinnvoll beenden Allgemeine Java-Themen 2
S Welche Datenstruktur für verschiedene Sprachen sinnvoll? Allgemeine Java-Themen 2
O ist tiefes Kopieren sinnvoll? Allgemeine Java-Themen 14
M Geschützte Systemdateien sinnvoll umgehen bei listFiles() Allgemeine Java-Themen 7
A [gelöst] Dynamischen Webseitentest automatisieren mit Java sinnvoll? Allgemeine Java-Themen 6
V Empfangene Daten sinnvoll Puffern Allgemeine Java-Themen 3
H Extra-Thread sinnvoll für XML-Datei laden? Allgemeine Java-Themen 4
S Textfeld Parser sinnvoll? Allgemeine Java-Themen 3
M Wann ist MVC sinnvoll? Allgemeine Java-Themen 14
G Strings die Zahlen enthalten sinnvoll sortieren (A2 < A10 Allgemeine Java-Themen 4
T "Programming against the interface" sinnvoll? Allgemeine Java-Themen 18
F Viele generische Parameter sinnvoll? oder besser casten? Allgemeine Java-Themen 10
M wie sinnvoll parsen ? Allgemeine Java-Themen 4
M Wie parst man sinnvoll? Allgemeine Java-Themen 7
K Regex Versucher 2 *Update - sinnvoll und schön* :) Allgemeine Java-Themen 6
Redfrettchen Rückgabe nicht sinnvoll: Exception oder null zurück? Allgemeine Java-Themen 9
G klassendesign. aber wie (sinnvoll)? Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben