Auf Thema antworten

[CODE=java]public void doSomething(final int someParameter) {

 

    // ..

 

    someParameter = 42; // geht nicht!

}[/CODE]


Die Variable/Parameter "someParameter" ist eine lokale Variable der Methode "doSomething" mit dem final sagst du nur, dass der Wert innerhalb der Methode nicht mehr neu zugewiesen werden kann. Die einzige mögliche Zuweisung erfolgt im Aufruf der Methode.



Bei einer finalen Instanzvariablen kannst du sie entweder sofort initialisieren oder im Konstruktor:

[CODE=java]class Foo {

  

    private final int value = 42;

}


// oder


class Foo {

  

    private final int value;

  

    Foo(final int value) { // das final hier, siehe oben

        this.value = value;

    }

}[/CODE]



Oben