Hallo,
in einer Klasse ist Folgendes [1] definiert.
Aus einer anderen Klasse [2] heraus wird auf feld1 und feld2 lesen und schreibend zugegriffen.
Das Projekt ist kompilierbar und lässt sich ohne Probleme ausführen.
Meine Frage:
Wieso ist es möglich die Arrays feld1 und feld2 zu modifizieren, wenn sie als final [2] deklariert wurden?
Die Arrays als final zu definieren ist ein Vorschlag der IDE (Hint,Eingabekommentar) gewesen.
Vielen Dank!
[1]
[2] Zugriff auf feld1 und feld2 in der Main-Methode einer anderen Klasse
in einer Klasse ist Folgendes [1] definiert.
Aus einer anderen Klasse [2] heraus wird auf feld1 und feld2 lesen und schreibend zugegriffen.
Das Projekt ist kompilierbar und lässt sich ohne Probleme ausführen.
Meine Frage:
Wieso ist es möglich die Arrays feld1 und feld2 zu modifizieren, wenn sie als final [2] deklariert wurden?
Die Arrays als final zu definieren ist ein Vorschlag der IDE (Hint,Eingabekommentar) gewesen.
Vielen Dank!
[1]
Java:
public class Zahlen {
private final int[] feld1 = new int[30]; //Wieso final?
private final int[] feld2 = new int[30];
//Get
public int GetFeld1(int idx) {
return feld1[idx];
}
public int GetFeld2(int idx) {
return feld2[idx];
}
// Set
public void SetFeld1(int idx, int val) {
feld1[idx] = val;
}
public void SetFeld2(int idx, int val) {
feld2[idx] = val;
}
}
[2] Zugriff auf feld1 und feld2 in der Main-Methode einer anderen Klasse
Java:
...
Zahlen zahlen = new Zahlen();
...
zahlen.SetFeld1(i,wert);
...