Frage von CallMeLeonardo, 77

Wie Funktioniert ein Read Only ( in java )?

Hey Leute :)

Wie genau mache ich ein Read Only Attribut/Methode in Java ? Also ich weiss nur das es etwas mit der Getter und Setter Methode zu tun hat. Mehr weiss ich nicht darüber. ( btw. die Getter und Setter Methoden verstehe ich :D )

Am besten wäre es, wenn jemand ein beispiel machen würden :)

Danke

Antwort
von ceevee, 63

ReadOnly heißt, dass du nur einen Getter (und keinen Setter) für eine private Variable hast. Also quasi (in Pseudocode!):

class Auto {

private string _farbe;

public Auto(string farbe) { 

    this._farbe = farbe; 

   }

public string getFarbe() {

    return this._farbe;

  }

}

In dem Beispiel kannst du die Farbe nur beim anlegen eines neuen Autos im Konstruktor schreiben, ansonsten kannst du die Variable _farbe von außen nur lesen, aber nicht verändern.

Kommentar von CallMeLeonardo ,

Dankeschöön :)

Also muss ich die Variable farbe nicht noch irgendwie markieren, sodass man erkennt ob es wirklich ein ReadOnly ist ?

Antwort
von chokdee, 60

In java gibt es dafür das Schlüsselwort final

privat final int a = 12;

Damit ist a nicht mehr veränderbar.

Das geht auch bei Methoden Parametern.

void bla(final String s)

Kommentar von spaghetticode ,

Da der Fragensteller explizit Getter und Setter erwähnt, glaube ich zwar, dass eher private Felder gemeint sind - aber final-Variablen sind natürlich auch eine Möglichkeit.

Kommentar von chokdee ,

Ja möglich, wo bei private Felder natürlich trotzdem veränderbar sind ;-)

Kommentar von spaghetticode ,

Nicht, wenn es keinen Setter gibt. Also von außen jetzt. :)

Kommentar von chokdee ,

Klar, über Reflection ;-)

Kommentar von CallMeLeonardo ,

Super, dankeschöön :)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten