Zugriffsmodifizierer (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| (4 dazwischenliegende Versionen von 2 Benutzern 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 172: | Zeile 172: | ||
|} | |} | ||
Quelle: <br | Quelle: <br> | ||
[http://www.javacamp.org/javaI/Modifier.html Java Modifiers] <br | *[http://www.javacamp.org/javaI/Modifier.html Java Modifiers] <br> | ||
[http://de.wikipedia.org/wiki/Java-Syntax Java-Syntax ? Wikipedia] | *[http://de.wikipedia.org/wiki/Java-Syntax Java-Syntax ? Wikipedia] | ||
{{Fragen stellen}} | |||
--[[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
Zugriffsmodifizierer
[Bearbeiten | Quelltext bearbeiten]| 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
[Bearbeiten | Quelltext bearbeiten]| 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
[Bearbeiten | Quelltext bearbeiten]| 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
[Quelltext bearbeiten]Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!
- Besuche unseren Chat
Wir helfen dir gerne!
--eRaaaa 13:08, 25. Dez 2009 (CET)
