Sichtbarkeit: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (→Tabelle) |
Hauer (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
− | Sichtbarkeit ist eine Eigenschaft von Methoden, Attributen und Konstruktoren. Sie bestimmt, ob Elemente einer Klasse außerhalb der Klasse, in welcher sie deklariert worden sind, aufgerufen oder verwendet werden können. | + | '''Sichtbarkeit''' ist eine Eigenschaft von Methoden, Attributen und Konstruktoren. Sie bestimmt, ob Elemente einer Klasse außerhalb der Klasse, in welcher sie deklariert worden sind, aufgerufen oder verwendet werden können. |
= Syntaxdiagram = | = Syntaxdiagram = |
Version vom 6. März 2016, 08:47 Uhr
Sichtbarkeit ist eine Eigenschaft von Methoden, Attributen und Konstruktoren. Sie bestimmt, ob Elemente einer Klasse außerhalb der Klasse, in welcher sie deklariert worden sind, aufgerufen oder verwendet werden können.
Inhaltsverzeichnis
Syntaxdiagram
Öffentlich
Öffentliche Elemente einer Klasse werden mit dem Schlüsselwort public gekennzeichnet. Diese Elemente einer Klasse können von überall aus aufgerufen oder verwendet werden, solange die deklarierende Klasse importiert wurde. Ebenso kann auf Attribute von Objekten dieser Klasse direkt zugegriffen werden. Dies ist jedoch für gewöhnlich nicht erwünscht.
Privat
Private Elemente einer Klasse werden mit dem Schlüsselwort private gekennzeichnet. Diese können nur von der deklarierenden Klasse selbst aufgerufen oder verwendet werden. Es gibt keine Möglichkeit (wie z.B. in C++ sog. friends) in Java, diese Einschränkung aufzuheben. Für gewöhnlich werden Objektattribute von Klassen als Privat deklariert und sind nur über spezielle getter und setter erreichbar.
Beschützt
Beschützte Elemente einer Klasse werden mit dem Schlüsselwort protected gekennzeichnet. Diese können nur von der deklarierenden Klasse selbst, von der deklarierenden Klasse erbenden Klassen oder von Klassen im gleichen Paket aufgerufen oder verwendet werden. Dies wird meist genutzt, um den Zugriff auf sich ändernde Attribute nach außen hin zu schützen, die Änderung der Attribute selbst jedoch, durch die Implementierung der erbenden Klasse, zu vereinfachen.
Unmarkiert / Paketprivat
Verwendet man keines der Schlüsselworte private, protected oder public gilt ein Element einer Klasse als package private. Das heißt, dass alle Klassen im selben Paket freien Zugriff auf diese Elemente haben, Klassen aus anderen Paketen (also insbesondere meist alle Klassen, welche die deklarierende Klasse als Bibliothek verwenden), jedoch nicht. Ein Element unmarkiert zu lassen, gilt jedoch meist als schlechter Stil.
Tabelle
Modifikator | Klasse | Paket | Erbe | Andere |
---|---|---|---|---|
public | Ja | Ja | Ja | Ja |
protected | Ja | Ja | Ja | Nein |
unmarkiert | Ja | Ja | Nein | Nein |
private | Ja | Nein | Nein | Nein |