final mit Parametern

Status
Nicht offen für weitere Antworten.

pommespaula

Mitglied
Im Handbuch steht folgendes:
Seit dem JDK 1.1 kann das final-Attribut auch auf Parameter von Methoden und lokale Variablen angewendet werden. Dadurch stellt der Compiler sicher, daß die Variable bzw. der Parameter nach der Initialisierung nicht mehr verändert wird. Die Initialisierung muß dabei nicht unbedingt bei der Deklaration erfolgen, sondern kann auch später vorgenommen werden. Wichtig ist, daß nur genau einmal ein Wert zugewiesen wird.

Darunter versteh ich folgendes, dass Folgendes Beispiel nicht funktioniere sollte:
Code:
public class ModifierVerhalten
{
  public static void main(String[] args)
  {
    Zahl a1 = new Zahl()
    
    a1.ausgabeZahl(5000);
    a1.ausgabeZahl(6000); //sollte diese Stelle nicht einen Fehler ergeben? da das atrubut final ein zweites zuweisen  
                                       verhindert(so mein Verständnis)
  }
}

class Zahl
{
  public void ausgabeZahl(final int Zahl1)//final Atribut soll dafür sorgen, dass der Parameter nur einmal initalisiert 
                                                             werden kann
  {
    System.out.println("Zahl: "+Zahl1);
  }
}

Ausgabe:

Zahl: 5000
Zahl: 6000


Was hab ich also an dem Satz oben nicht verstanden

Danke
 
B

Beni

Gast
Jedesmal wenn du eine Methode aufrufst werden sozusagen neue Variablen verwendet, deshalb funktioniert deine Überlegung nicht.

Aber du kannst z.B. den Integer nicht mehr innerhalb der Methode verändern:
Code:
public void ausgabeZahl(final int zahl) { //final Atribut soll dafür sorgen, dass der Parameter nur einmal initalisiert werden kann

    System.out.println("Zahl: "+zahl);

    zahl = 15; // <<<<< geht nicht

    System.out.println("Zahl: "+zahl);
  }

(P.S. das final bezieht sich nur auf die Variable, nicht auf den "Inhalt" der Variable. Einem final java.util.Vector kann man z.B. ohne weiteres Elemente hinzufügen oder entfernen...)
 

Illuvatar

Top Contributor
Nun, ein Zweck von final-Variablen innerhalb einer Methode besteht darin, dass sie nicht verloren gehen. Es gibt bloß nur immer eine pro Methode. Aber deshalb darf man aus anonymen Klassen (Kapitel 10.1.3) auf final-Variablen aus Methoden zugreifen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Setter-Methode mit final-Attribut Java Basics - Anfänger-Themen 9
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
J final attribute erben Java Basics - Anfänger-Themen 2
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
A final String verrechnen Java Basics - Anfänger-Themen 2
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
A Variablen zum final verändern Java Basics - Anfänger-Themen 4
D Interface Final für Parameter in überschriebenen Methoden? Java Basics - Anfänger-Themen 3
E Sinn: final in Parameterliste verwenden Java Basics - Anfänger-Themen 2
M Iterator cannot refer to a non final... Java Basics - Anfänger-Themen 20
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
R JTextArea final Status ändern Java Basics - Anfänger-Themen 11
F Static final Klasse Java Basics - Anfänger-Themen 0
S Kopierkonstrukter eines Objekts mit final Attributen Java Basics - Anfänger-Themen 6
T Schlüsselworte final Java Basics - Anfänger-Themen 1
M Wann final verwenden? Java Basics - Anfänger-Themen 5
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
C Klassen Minesweeper Problem. int needs to be final (inner class problem) Java Basics - Anfänger-Themen 3
R Variablen final String Variable als Attribut veränderbar? Java Basics - Anfänger-Themen 21
U final Instanz Java Basics - Anfänger-Themen 11
W run Methode in Time erzwingt final Java Basics - Anfänger-Themen 3
D Polymorphie final class Java Basics - Anfänger-Themen 2
C Erste Schritte felder, die public final sind Java Basics - Anfänger-Themen 6
H static final vs. final static Java Basics - Anfänger-Themen 3
A final und extends Java Basics - Anfänger-Themen 14
N Bessere Performance durch final: wann denn überhaupt? Java Basics - Anfänger-Themen 28
xehpuk Compiler-Fehler final Variable in try-catch Wert zuweisen Java Basics - Anfänger-Themen 8
J final variablen Java Basics - Anfänger-Themen 3
P Variablen static final boolean Java Basics - Anfänger-Themen 9
S Interface Final und interface Java Basics - Anfänger-Themen 6
ruutaiokwu final wenn immer möglich verwenden? Java Basics - Anfänger-Themen 30
N local variable model is accessed from within inner class; needs to be declared final Java Basics - Anfänger-Themen 4
C Error: The final local variable variable cannot be assigned, since it is defined in an enclosing typ Java Basics - Anfänger-Themen 4
T Verständnis von "final" und "static" Java Basics - Anfänger-Themen 6
T In methode Final Objekte übergeben? Java Basics - Anfänger-Themen 9
C final variable Java Basics - Anfänger-Themen 4
G Poi 3.5-Final zum laufen bringen Java Basics - Anfänger-Themen 2
H final/static Vererbung Java Basics - Anfänger-Themen 4
P Can not refer to a non final variable... Java Basics - Anfänger-Themen 3
H Variablen final? Java Basics - Anfänger-Themen 3
T Warum muss diese Variable final deklariert werden? Java Basics - Anfänger-Themen 5
G final Variablen in enhanched-for Java Basics - Anfänger-Themen 2
V Frage zu final und Class bzw. Class.cast Java Basics - Anfänger-Themen 5
G static final Java Basics - Anfänger-Themen 7
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
A final Variablen und der GarbageCollector Java Basics - Anfänger-Themen 2
G OOP - final Java Basics - Anfänger-Themen 2
B objekt wann als final deklarieren? Java Basics - Anfänger-Themen 2
G Sollte man Klassenvariablen als final deklarieren? Java Basics - Anfänger-Themen 3
J Interface: The final field Variablen.N cannot be assigned Java Basics - Anfänger-Themen 2
B privat mit und ohne final Java Basics - Anfänger-Themen 4
B final vor Funktionsparameter? Java Basics - Anfänger-Themen 21
D Static, final Objekte mit Exceptions im Konstruktor Java Basics - Anfänger-Themen 2
W Fehlermeldung "...needs to be declared final" ! Java Basics - Anfänger-Themen 4
N Wieso final ? Java Basics - Anfänger-Themen 4
G <identifier> expected bei public void final Java Basics - Anfänger-Themen 3
A Problem mit innerer Klasse/final Java Basics - Anfänger-Themen 2
G Methoden + variablen als final definieren? Java Basics - Anfänger-Themen 3
F enum oder static final boolean? Java Basics - Anfänger-Themen 18
M enum final Methoden Java Basics - Anfänger-Themen 24
S final String Java Basics - Anfänger-Themen 2
N The serializable class.does not declare a static final . Java Basics - Anfänger-Themen 2
T private final String oder final String? Was ist richtig? Java Basics - Anfänger-Themen 4
F public final void getsignature() | anfänger Java Basics - Anfänger-Themen 7
A class does not declare a static final serialVersionUID Java Basics - Anfänger-Themen 13
G wieso muss Textfield final sein? Java Basics - Anfänger-Themen 6
M Cannot refer to a non-final variable Java Basics - Anfänger-Themen 10
A array nach initialisierung final machen? Java Basics - Anfänger-Themen 17
G public static void main(final String[] args) Java Basics - Anfänger-Themen 4
G Warum muss das Textfeld final sein? Java Basics - Anfänger-Themen 2
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
F HttpURLConnection mit vielen Parametern Java Basics - Anfänger-Themen 3
J Übergabe von Parametern an andere Methoden Java Basics - Anfänger-Themen 5
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
J Methode mouseClicked mit zu übergebenden Parametern Java Basics - Anfänger-Themen 1
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
B Input/Output Konsolenbefehle mit Parametern Java Basics - Anfänger-Themen 5
C Objekte mit Parametern sortieren Java Basics - Anfänger-Themen 8
U assertEquals mit drei Parametern? Java Basics - Anfänger-Themen 4
F Klassen Ein nicht existierendes Objekt in Parametern übergeben Java Basics - Anfänger-Themen 16
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
M Konstruktor mit unterschiedlichen Parametern? Java Basics - Anfänger-Themen 3
M Methode mit beliebigen Parametern in abstrakter Klasse definieren Java Basics - Anfänger-Themen 8
A Methoden Methode mit Parametern Java Basics - Anfänger-Themen 25
M Datentypen Konstruktor mit generischen Parametern überladen Java Basics - Anfänger-Themen 3
M Collections mit >2 type Parametern? Java Basics - Anfänger-Themen 8
M Singleton mit Parametern im Konstruktor Java Basics - Anfänger-Themen 18
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
xehpuk Polymorphie Polymorphie in Parametern Java Basics - Anfänger-Themen 5
N OOP Dynamische Objekte und nach Parametern durchsuchen Java Basics - Anfänger-Themen 4
N Vererbung von Konstruktoren mit Parametern Java Basics - Anfänger-Themen 7
D Funktion mit optionalen Parametern möglich? Java Basics - Anfänger-Themen 3
A Konstruktor mit Parametern Java Basics - Anfänger-Themen 7
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
R Drag&Drop mit Parametern Java Basics - Anfänger-Themen 6
G Übergabe von Parametern an JSP Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben