Sichtbarkeit und Namensräume
| Access modifier | Sichtbarkeit |
|---|---|
| private | nur in der Klasse |
| public | Überall |
| package private | nur in dem Paket |
| Pakete | durch Aufruf des Pakets |
| Blöcke { } | Innerhalb des Blockes |
Code zur Kompilierzeit
Instanziierung
| statische Welt | Welt der Instanzen |
|---|---|
| geladen bei runtime | erst laden durch Erstellung |
| Aufruf durch Klassenname | Aufruf durch Instanz |
| Zugriff auf alle Instanzen der Klasse | Zugriff auf Instanz |
Komposition
Take-Home Message
- Man unterscheidet zwischen der statischen Struktur eines Programmes und der dynamischen Laufzeitstruktur
- statisch: wie der Code strukturiert ist
- dynamisch: welche Objekte und Klassen zu einem bestimmten Zeitpunkt im Speicher liegen
- Statische Variables (Klassenattribute) existieren von Beginn bis zu Ende de Programmablaufs, es gibt sie nur einmal im Programm
- Instanzvariablen (Objektattribute) gehören immer zu einem Objekt, werden mit diesem erzeugt und zerstört. Zu einem Zeitpunkt kann es mehrere unterschiedliche Objekte geben