Normal
[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;}// oderclass Foo { private final int value; Foo(final int value) { // das final hier, siehe oben this.value = value; }}[/CODE]
[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;