Zugriffsmodifizierer (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
K |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 42: | Zeile 42: | ||
|- | |- | ||
| abstract | | abstract | ||
− | | - Klasse <br | + | | - Klasse <br>- Interface <br>- Methode |
− | | - Kann nicht instanziiert werden <br | + | | - 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 | | final | ||
− | | - Klasse <br | + | | - Klasse <br>- Methode <br>- Objektvariablen<br>- Variablen |
− | | - Kann nicht erweitert werden <br | + | | - Kann nicht erweitert werden <br> - Kann nicht überschrieben werden<br>- Können ihren Wert nicht ändern <br>- Können ihren Wert nicht ändern |
|- | |- | ||
| nativ | | nativ | ||
Zeile 54: | Zeile 54: | ||
|- | |- | ||
| leer/keiner(package) | | leer/keiner(package) | ||
− | | - Klasse <br | + | | - Klasse <br>- Interface <br>- Member |
− | | - Nur im eigenen Paket sichtbar <br | + | | - Nur im eigenen Paket sichtbar <br>- Nur im eigenen Paket sichtbar <br> - Nur im eigenen Paket sichtbar |
|- | |- | ||
| private | | private | ||
Zeile 66: | Zeile 66: | ||
|- | |- | ||
| public | | public | ||
− | | - Klasse <br | + | | - Klasse <br>- Interface <br>- Member |
− | | - Von überall aus sichtbar <br | + | | - Von überall aus sichtbar <br> - Von überall aus sichtbar <br> - Von überall aus da sichtbar, wo auch die Klasse sichtbar ist |
|- | |- | ||
| strictfp | | strictfp | ||
− | | - Klasse <br | + | | - Klasse <br>- Methode |
− | | - Alle Methoden in der Klasse gehen strikt nach der IEEE-Norm vor <br | + | | - Alle Methoden in der Klasse gehen strikt nach der IEEE-Norm vor <br>- Methode geht strikt nach der IEEE-Norm vor |
|- | |- | ||
| static | | static | ||
− | | - Klasse <br | + | | - Klasse <br>- Methode <br>- Objektvariablen <br> - Initialisierer |
− | | - Macht eine innere | + | | - Macht eine innere Klasse 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 | | synchronized | ||
| - Methode | | - Methode | ||
− | | - Bei statischen Methoden: lock für die dazugehörige Klasse, bei nicht-statischen | + | | - Bei statischen Methoden: lock für die dazugehörige Klasse, bei nicht-statischen Methoden: lock für die jeweilige Objekt-Instanz |
|- | |- | ||
| transient | | transient | ||
Zeile 94: | Zeile 94: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
! Modifizierer | ! Modifizierer | ||
− | ! Klasse | + | ! [[Klasse]] |
− | ! Variable | + | ! [[Variable]] |
− | ! Methode | + | ! [[Methode]] |
− | ! Konstruktor | + | ! [[Konstruktor]] |
|- | |- | ||
| public | | public | ||
Zeile 180: | Zeile 180: | ||
--[[Benutzer:eRaaaa|eRaaaa]] 13:08, 25. Dez 2009 (CET) | --[[Benutzer:eRaaaa|eRaaaa]] 13:08, 25. Dez 2009 (CET) | ||
− | |||
[[Kategorie:Java Grundlagen]] | [[Kategorie:Java Grundlagen]] |
Aktuelle Version vom 29. Mai 2019, 16:00 Uhr
Inhaltsverzeichnis
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 - Interface - Methode |
- Kann nicht instanziiert werden - Interfaces sind immer abstrakt (modifier optional) - Hat keinen Body, enthält nur Signatur. (die umschließende Klasse ist selbst auch abstrakt) |
final | - Klasse - Methode - Objektvariablen - Variablen |
- Kann nicht erweitert werden - Kann nicht überschrieben werden - Können ihren Wert nicht ändern - Können ihren Wert nicht ändern |
nativ | - Methode | - Plattform spezifisch (keine Signatur, kein Body) |
leer/keiner(package) | - Klasse - Interface - Member |
- Nur im eigenen Paket sichtbar - Nur im eigenen Paket sichtbar - 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 - Interface - Member |
- Von überall aus sichtbar - Von überall aus sichtbar - Von überall aus da sichtbar, wo auch die Klasse sichtbar ist |
strictfp | - Klasse - Methode |
- Alle Methoden in der Klasse gehen strikt nach der IEEE-Norm vor - Methode geht strikt nach der IEEE-Norm vor |
static | - Klasse - Methode - Objektvariablen - Initialisierer |
- Macht eine innere Klasse zu einer Top-Level-Klasse - Die Klassenmethode wird durch den Klassennamen aufgerufen - Zugriff über Klassennamen - 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:
Fragen
Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!
- Besuche uns im Byte-Welt-Forum
- Besuche unseren Chat
Wir helfen dir gerne!
Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!
Du musst angemeldet sein, um einen Kommentar abzugeben.
--eRaaaa 13:08, 25. Dez 2009 (CET)