dh-Materialien
Java Tutorial
 

Schlüsselworte

Typnamen, enum und return   Modifikatoren   Schlüsselworte in Kontrollstrukturen   Referenzen   const, goto, native und strictfp

Die in Java reservierten Schlüsselworte (keywords) dürfen in Programmen nicht als Bezeichner verwendet werden. Nachfolgend werden diese Schlüsselworte aufgelistet und ihre Verwendung kurz beschrieben:

class
Die Definition einer Klasse beginnt (mindestens) mit dem Schlüsselwort class, unmittelbar gefolgt vom Klassennamen.

import
Mit import-Anweisungen werden einem Javaprojekt in Paketen zur Verfügung stehende Klassen hinzugefügt.

interface
Die Definition eines Interface beginnt mit dem Schlüsselwort interface, unmittelbar gefolgt vom Interfacenamen.

extends
Example extends SuperExample bedeutet, dass die Klasse Example Subklasse der Klasse SuperExample ist.

implements
Example implements InterfaceExmpl bedeutet, dass der Klasse Example die abstrakten Methoden des InterfaceExmpl hinzugefügt werden und hier implementiert werden müssen bzw. nach getaner Arbeit implementiert worden sind.

package
Die Definition eines Pakets (package) beginnt mit dem Schlüsselwort package, unmittelbar gefolgt vom Paketnamen.

new
Eine new-Anweisung besteht aus dem Schlüsselwort new und dem unmittelbar folgenden Aufruf eines Konstruktors.

instanceof
Mit instanceof kann überprüft werden, ob das von einer Referenzvariablen rv referenzierte Objekt von einem bestimmten Typ ist: rv instanceof Typ; liefert true, wenn dies der Fall ist, andernfalls false.

 
Typnamen, enum und return

boolean
Mit diesem Typnamen werden Boolesche Variablen deklariert. Boolesche Variablen können nur zwei Werte besitzen: true und false.

byte
Mit dem Typnamen byte werden Variablen von ebendiesem Typ deklariert. Der Wertebereich von byte-Variablen umfasst die ganzen Zahlen von −27 bis +27−1, also von −128 bis 127.

short
Mit dem Typnamen short werden Variablen von ebendiesem Typ deklariert. Der Wertebereich von short-Variablen umfasst die ganzen Zahlen von −215 bis +215−1, also von −32768 bis 32767.

int
Mit dem Typnamen int werden Variablen von ebendiesem Typ deklariert. Der Wertebereich von int-Variablen umfasst die ganzen Zahlen von −231 bis +231−1, also von −2147483648 bis 2147483647.

long
Mit dem Typnamen long werden Variablen von ebendiesem Typ deklariert. Der Wertebereich von long-Variablen umfasst die ganzen Zahlen von −263 bis +263−1, also von −9223372036854775808 bis 9223372036854775807.

float
Mit dem Typnamen float werden Variablen von ebendiesem Typ deklariert. Der größte float-Wert entspricht der Zahl (2−2−23)·2127, also 340282346638528859811704183484516925440.

double
Mit dem Typnamen double werden Variablen von ebendiesem Typ deklariert. Der größte double-Wert entspricht der Zahl (2−2−52)·21023.

char
Mit dem Typnamen char werden Variablen von ebendiesem Typ deklariert. Die Werte von char-Variablen sind character-Literale.

void
Ist eine Methode mit einem der vorstehenden Typnamen deklariert worden, so heißt das, dass nach Aufruf dieser Methode ein Rückgabewert von ebendiesem Typ zurückgeliefert wird. Eine Methode, die nichts zurückliefern soll, ist mit dem Schlüsselwort void zu deklarieren (vgl. Definition von Methoden).

enum
Mit dem Schlüsselwort enum ist es möglich, eigene Datentypen zu kreiieren, und zwar so, dass einer Variable von solchem Typ selbstdefinierte konstante Werte zugewiesen werden können:

enum Position {BUTTOM, CENTER, TOP}
Position center = Position.CENTER;

return
Im Methodenrumpf einer nicht mit void deklarierten Methode muss eine return-Anweisung vorhanden sein, mit welcher der Rückgabewert definiert wird:

return value;

Der Rückgabewert value ist entweder von elementarem Typ oder ein Referenzwert.

Modifikatoren

default
Eine in einer Klasse vordefinierte Methode kann, eine in einem Interface vordefinierte Methode muss mit dem Modifikator default deklariert werden.

public
Auf die mit diesem Zugriffsmodifikator (access modifier) deklarierte Klassen, Instanz- und Klassenveriablen, sowie Methoden kann von überall aus zugegriffen werden.

private
Die mit diesem Zugriffsmodifikator deklarierte Instanz- und Klassenveriablen und Methoden dürfen und können nur innerhalb derjenigen Klasse verwendet werden, in welcher diese definiert wurden.

protected
Die mit diesem Zugriffsmodifikator deklarierte Instanz- und Klassenveriablen und Methoden dürfen und können nur innerhalb derjenigen Klasse verwendet werden, in welcher diese definiert wurden, sowie in allen Subklassen dieser Klasse.

final
Die mit diesem Nicht-Zugriffsmodifikator deklarierten Klassen können keine Superklassen sein. Von finalen Klassen können also keine weiteren Klassen abgeleitet werden.
Mit final deklarierte Attribute und Methoden können nicht überschrieben werden.

abstract
Abstrakte Methoden müssen mit dem Nicht-Zugriffsmodifikator abstract deklariert werden. Enthält eine Klasse mindestens eine abstrakte Methode, so muss auch diese Klasse mittels abstract deklariert werden. Eine abstrakte Klasse kann nicht instanziiert werden.

static
Mit dem Nicht-Zugriffsmodifikator static deklarierte Attribute und Methoden gehören nie zu Objekten. Statische Methoden können also nur über die jeweilige Klasse aufgerufen werden.

synchronized
Mit dem Nicht-Zugriffsmodifikator synchronized deklarierte Methoden können zur gleichen Zeit nur von einem einzigen Thread aufgerufen werden.

transient
Kann ein im Hauptspeicher der Anwendung existierendes Objekt in ein Format konvertiert werden, das es ermöglicht, dieses Objekt in eine Datei zu schreiben oder über eine Netzwerkverbindung zu transportieren, dann ist dieses Objekt serialisierbar. Mit dem Nicht-Zugriffsmodifikator transient deklarierte Methoden und Attribute werden bei der Serialisierung eines Objektes nicht berücksichtigt.

volatile
Der Wert eines mit dem Nicht-Zugriffsmodifikator volatile deklarierten Attributs kann auch außerhalb des aktuell laufenden Threads verändert werden. Der Wert einer solchen „flatterhaften“ Variable wird also nicht thread-lokal, sondern immer im Hauptspeicher gespeichert.

Schlüsselworte in Kontrollstrukturen

for
Mit for beginnt eine for-Schleife (vgl. Schleifen).

while
Mit while beginnt eine while-Schleife (vgl. Schleifen).

do
Mit do beginnt eine do-while-Schleife (vgl. Schleifen).

switch
Mit switch beginnt eine switch-Anweisung. (vgl. Bedingte Anweisungen).

case
Jeder Auswahlblock innerhalb einer switch-Anweisung beginnt mit dem Schüsselwort case (vgl. Bedingte Anweisungen).

default
Mit dem Schlüsselwort default wird der default-Auswahlblock innerhalb einer switch-Anweisung gekennzeichnet.

break
Nach der Anweisung break; im Anweisungsblock einer Schleife wird die Schleife verlassen und es folgt die Abarbeitung der ersten Anweisung direkt nach der Schleife. Die Anweisung break; innerhalb einer switch-Anweisung bewirkt die Verzweigung zum Ende dieser switch-Anweisung.

continue
Nach der Anweisung continue; im Anweisungsblock einer Schleife wird der aktuelle Schleifenschritt abgebrochen und es wird der jeweils nächste Schleifenschritt begonnen.

if
Mit if beginnt eine if-Anweisung (vgl. Bedingte Anweisungen).

else
Das Schlüsselwort else steht zwischen den Auswahlblöcken einer zweiseitigen if-Anweisung (vgl. Bedingte Anweisungen).

throws
Mittels throws wird deklariert, welche Ausnahmen (exceptions) während der Ausführung einer Methode eintreten könnten.

public doSomething() throws Exception;

throw
throw veranlasst die Ausgabe einer Fehlermeldung, die auch selbstdefiniert sein kann:

throw new MyException("Ein Fehler ist aufgetreten.");

try
Mit try beginnt eine try-Anweisung (vgl. Behandlung von Fehlern).

catch
Das Schlüsselwort catch ist Bestandteil einer try-Anweisung (vgl. Behandlung von Fehlern).

finally
Einer try-Anweisung kann mittels des Schlüsselworts finally ein Anweisungsblock angehängt werden, der auf jeden Fall nach der ggf. stattgefundenen Fehlerbehandlung abschließend abgearbeitet wird (vgl. Behandlung von Fehlern).

assert
Mit assert-Anweisungen kann ein Programm auf Fehler überprüft werden. Wenn mit logterm ein Boolescher Ausdruck bezeichnet wird, dann ist eine assert-Anweisung von folgender Form: assert logterm;. Ergibt die Auswertung von logterm während der Laufzeit eines Programms den Wert false, so bricht dieses sofort mit einer Fehlermeldung ab.

Referenzen

this
Das Schlüsselwort this ermöglicht einem Objekt die Selbstreferenzierung: Beinhaltet der Rumpf (body) einer zum Objekt obj gehörenden Methode den Ausdruck this.x, so repräsentiert dieser Ausdruck einen Verweis auf das objekteigene Attribut x (vgl. Instanziieren von Klassen):

this 

super
Sei obj vom Typ Example. Beinhaltet der Rumpf einer zu diesem Objekt obj gehörenden Methode den Ausdruck super.xxx, so wird das Attribut xxx von obj angesprochen oder die Methode xxx von obj aufgerufen. Hierbei wird allerdings so getan, als ob obj eine Instanz der Superklasse von Example wäre.

const, goto, native und strictfp

Die Schlüsselworte goto und const sind zwar reserviert, werden aber (bisher) nicht verwendet und haben keinerlei Funktion. Das Schlüsselwort strictfp hat keine praktische Bedeutung mehr. Das Schlüsselwort native spielt für das vorliegende Tutorial keine Rolle.