Zugriffsmodifizierer
| Modifizierer
|
Die Klasse selbst
|
Paket-Klassen/innere-Klassen
|
Unterklassen
|
Sonstige Klassen
|
| private
|
ja
|
nein
|
nein
|
nein
|
| public
|
ja
|
ja
|
ja
|
ja
|
| protected
|
ja
|
ja
|
ja
|
nein
|
| ohne/leer
|
ja
|
ja
|
nein
|
nein
|
Modifizierer Übersicht
| Modifizierer
|
Anwendbar auf
|
Bedeutung
|
| abstract
|
- Klasse <br\>- Interface <br\>- Methode
|
- Kann nicht instanziiert werden <br\>- Interfaces sind immer abstrakt (modifier optional)<br\> - Hat keinen Body, enthält nur Signatur. (die umschließende Klasse ist selbst auch abstrakt)
|
| final
|
- Klasse <br\>- Methode <br\>- Objektvariablen<br\>- Variablen
|
- Kann nicht erweitert werden <br\> - Kann nicht überschrieben werden<br\>- Können ihren Wert nicht ändern <br\>- Können ihren Wert nicht ändern
|
| nativ
|
- Methode
|
- Plattform spezifisch (keine Signatur, kein Body)
|
| leer/keiner(package)
|
- Klasse <br\>- Interface <br\>- Member
|
- Nur im eigenen Paket sichtbar <br\>- Nur im eigenen Paket sichtbar <br\> - Nur im eigenen Paket sichtbar
|
| private
|
- Member
|
- Nur in dieser Klasse sichtbar (wo sie definiert wurde)
|
| protected
|
- Member
|
- Im eigenen package sichtbar und in Subklassen
|
| public
|
- Klasse <br\>- Interface <br\>- Member
|
- Von überall aus sichtbar <br\> - Von überall aus sichtbar <br\> - Von überall aus da sichtbar, wo auch die Klasse sichtbar ist
|
| strictfp
|
- Klasse <br\>- Methode
|
- Alle Methoden in der Klasse gehen strikt nach der IEEE-Norm vor <br\>- Methode geht strikt nach der IEEE-Norm vor
|
| static
|
- Klasse <br\>- Methode <br\>- Objektvariablen <br\> - Initialisierer
|
- Macht eine innere Klase zu einer Top-Level-Klasse <br\> - Die Klassenmethode wird durch den Klassennamen aufgerufen <br\>- Zugriff über Klassennamen <br\> - Wird aufgerufen beim Laden der Klasse
|
| synchronized
|
- Methode
|
- Bei statischen Methoden: lock für die dazugehörige Klasse, bei nicht-statischen methoden: lock für die jeweilige Objekt-Instanz
|
| transient
|
- Objektvariable
|
- Wird nicht mit dem Objekt serialisiert
|
| volatile
|
- Objektvariable
|
- Zugriffe auf diese Variablen sind atomar
|
Modifizierer: Alle Kombinationen
| Modifizierer
|
Klasse
|
Variable
|
Methode
|
Konstruktor
|
| public
|
ja
|
ja
|
ja
|
ja
|
| protected
|
nein
|
ja
|
ja
|
ja
|
| keiner(package/default)
|
ja
|
ja
|
ja
|
ja
|
| private
|
nein
|
ja
|
ja
|
nein
|
| final
|
ja
|
ja
|
ja
|
nein
|
| abstract
|
ja
|
nein
|
ja
|
nein
|
| static
|
nein
|
ja
|
ja
|
nein
|
| nativ
|
nein
|
nein
|
ja
|
nein
|
| transient
|
nein
|
ja
|
nein
|
nein
|
| volatile
|
nein
|
ja
|
nein
|
nein
|
| synchronized
|
nein
|
nein
|
ja
|
nein
|
| strictfp
|
ja
|
nein
|
ja
|
ja
|
Quelle: <br\>
Java Modifiers <br\>
Java-Syntax ? Wikipedia