Zugriffsmodifizierer (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK (hat „Zugriffsmodifizierer (java)“ nach „Zugriffsmodifizierer (Java)“ verschoben) |
|
(kein Unterschied)
|
Version vom 17. September 2013, 14:06 Uhr
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
--eRaaaa 13:08, 25. Dez 2009 (CET)