Begriffe&Co Flashcards
Attribut
objektlokale Variable
Zustand
programmtechnisch realisiert durch Attribute, Belegung
Klassenattribut
Attribut einer Klasse, deklariert mit static
Nachricht
Information, die an ein Objekt versandt wir dun vom Objekt verstanden sowie verarbeitet werden kann (Methode)
Methode
Programmcode zur Reaktion auf Nachrichten
Lebensdauer
zeitliche Existenz eines Objekts
Konstruktor
spezielle Methode zur Objektinitialisierung
Identität
Objekte sind unterschiedlich - sie haben eine Identität
Objekt
Einheit Daten und Code, Instanz einer Klasse
Referenz
Adresse für ein Objekt
Instanz
konkretes Objekt einer Klasse, erzeugt durch new
this
impliziter Parameter, self-Objekt
alias
weitere Referenz auf ein Objekt
formaler Parameter
an eine Methode übergebene Parameter
Signatur einer Methode
Modifikatoren Ergebnistyp Methodenname(Parameterliste) throws Deklaration
Deklaration
Festlegung Typ und Name (z.B. Variable)
Variable
Speicher für Werte
static
Schlüsselwort, Modifikator, statische Deklaration
final
Schlüsselwort, Modifikator, nach Initialisierung unveränderlich
Dies bedeutet insbesondere, dass die entsprechende Klasse, Variable oder Methode bei einer Vererbung nicht überschrieben werden darf. Eine final Methode ist damit für alle Subklassen festgelegt, eine finale Klasse darf nicht vererbt werden, und eine finale Variable ist nach der Initialisierung konstant.
Feld
Array, Datentyp zur Speicherung von gleichen Datentypen
Initialisierung
Erstmalige Belegung einer Variable
Klassifizierung
Hierarchische Strukturierung, Zuordnung von Objekten
Klasse
Beschreibung der Eigenschaften, die ein Objekt der Klasse hat
abstrakte Klasse
Klasse mit unvollständiger Implementierung
innere Klasse
Klasse, die innerhalb einer anderen Klasse deklariert ist
anonyme Klasse
(lokale) klasse ohne Namen (Deklaration innerhalb eines Blocks)
package
Schlüsselwort, Festlegung eines Namenspace für Klassen
(block)lokale Variable
Variable in einem Block(Sichtbarkeitsbereich)
Laufzeitumgebung
Ablaufumgebung für kompilierte Java Programme (Bytecode)
Zuweisung
Wert eines Ausdrucks wird in einer Variablen gespeichert
Typen
Menge von Werten (Basisdatentyp, Objekt, null)
Typisierung
Zuordnung von Datentypen an Variablen, Sicherstellung der korrekten Verwendung
Typsicherheit
Aufgabe des Compilers, Sicherstellung der Verwendung von Typen
Polymorphie
Programmteile sind für mehrere Typen einsetzbar
Subtyping
Ordnung auf den Datentypen ->Vererbung
Interface
Schlüsselwort zur Deklaration eines Schnittstellentyps
dynamisches Binden
Methodenzuordnung, die erst zur Laufzeit stattfindet
Cast
Typkonvertierung, in Java eher Zusicherung Datentyp
Deklarationstyp
Datentyp bei der Deklaration (-> im Compiler)
Enum
Datentyp, Aufzählungstyp
Exception
Datentyp, Ausnahmen
Vererben
Übertragen von Programmteilen an abgeleitete Klassen
Überschreiben
Methoden mit gleichem Namen (SuperklasseSubklasse)
Überladen
Mehrere Methoden mit gleichem Namen und unterschiedlicher Signatur
ZugriffsModifikatoren public - wer kann sehen? Klasse A selbst Klasse B im gleichen Paket Subklasse C im gleichen Paket Subklasse D in einem anderen Paket Klasse E in einem anderen Paket
alle
ZugriffsModifizierer protected - wer kann sehen? Klasse A selbst Klasse B im gleichen Paket Subklasse C im gleichen Paket Subklasse D in einem anderen Paket Klasse E in einem anderen Paket
Klasse A selbst
Klasse B im gleichen Paket
Subklasse C im gleichen Paket
Subklasse D in einem anderen Paket, wenn von A geerbt
ZugriffsModifizierer ohne - wer kann sehen? Klasse A selbst Klasse B im gleichen Paket Subklasse C im gleichen Paket Subklasse D in einem anderen Paket Klasse E in einem anderen Paket
paketlokal, dh.
Klasse A selbst
Klasse B im gleichen Paket
Subklasse C im gleichen Paket
ZugriffsModifizierer private - wer kann sehen? Klasse A selbst Klasse B im gleichen Paket Subklasse C im gleichen Paket Subklasse D in einem anderen Paket Klasse E in einem anderen Paket
nur Klasse a selbst
native
Der Modifier native dient der Einbindung von plattformspezifischem Binärcode. Native Methoden einer Klasse werden ähnlich wie bei abstrakten Methoden im Klassenrumpf nur deklariert, die Implementierung befindet sich aber in einer externen Bibliothek, z.B. in einer DLL (dynamic link libary), die etwa in C implementiert sein könnte
Serialisierung
- Die Umwandlung einer Objektdarstellung im Speicher in einem Byte-Strom nennt sich Serialisierung.
- Diese benötigt man, wenn man Objekte in eine Datei speichern oder über ein Netzwerk transportieren möchte.
Transistent
Die bei einer Serialisierung nicht bennötigten Referenzvariablen sollte man mit dem Modifier transistent kennzeichnen. Damit zeigt man für den Fall der Serialisierung an, dass das Feld kein Bestandteil des persistenten Zustands eines Objektes ist und somit nicht übertragen werden muss.
volatile
kritische Variable
- Mit dem Modifier volatile kann man bei einem Feld (Instanz- oder Klassenvariable) angeben, dass dieses in synchronisierten Threads benutzt wird und daher von Compiler-Optimierungen auszuschließen ist.
- Java ermöglicht, dass Threads, die auf gemeinsame Variablen zugreifen, von diesen Variablen private Arbeitskopien halten. Diese Arbeitskopien brauchen mit den Orginalfassungen im gemeinsamen Hauptspeicher nur an vorgeschriebenen Synchronisationspunkten abgestimmt zu werden (beim Sperren oder Freigeben von Objekten). Neben der Sperre der Variablen zur exklusiven Nutzung durch einen Thread, gibt es die Möglichkeit, das Datenfeld als volatile zu deklarieren. In diesem Fall muss ein Thread seine Arbeitskopie des Datenfeldes mit der Orginalfassung bei jedem Zugriff auf die Variable abstimmen