Liste der Java-Schlüsselwörter - List of Java keywords

Ein Ausschnitt aus Java-Code mit blau und fett hervorgehobenen Schlüsselwörtern

In der Programmiersprache Java ist ein Schlüsselwort eines von 61 reservierten Wörtern , die eine vordefinierte Bedeutung in der Sprache haben; Aus diesem Grund können Programmierer Schlüsselwörter nicht als Namen für Variablen , Methoden , Klassen oder andere Bezeichner verwenden . Von diesen 61 Schlüsselwörtern werden 49 verwendet, 1 in der Vorschau und 2 nicht verwendet. Aufgrund ihrer speziellen Funktionen in der Sprache verwenden die meisten integrierten Entwicklungsumgebungen für Java Syntax-Highlighting , um Schlüsselwörter zur leichteren Identifizierung in einer anderen Farbe anzuzeigen.

Aufführen

_
In Java 9 hinzugefügt, ist der Unterstrich zu einem Schlüsselwort geworden und kann nicht mehr als Variablenname verwendet werden.
abstract
Eine Methode ohne Definition muss als abstrakt und die Klasse, die sie enthält, als abstrakt deklariert werden. Abstrakte Klassen können nicht instanziiert werden. Abstrakte Methoden müssen in den Unterklassen implementiert werden. Das abstrakte Schlüsselwort kann nicht mit Variablen oder Konstruktoren verwendet werden. Beachten Sie, dass eine abstrakte Klasse überhaupt keine abstrakte Methode haben muss.
assert(in J2SE 1.4 hinzugefügt )
Assert beschreibt ein Prädikat (eine Wahr-Falsch-Anweisung), das in einem Java-Programm platziert wird, um anzuzeigen, dass der Entwickler denkt, dass das Prädikat an dieser Stelle immer wahr ist. Wenn eine Assertion zur Laufzeit als false ausgewertet wird, kommt es zu einem Assertion-Fehler, der normalerweise zum Abbruch der Ausführung führt. Optional durch ClassLoader-Methode aktivieren.
boolean
Definiert eine boolesche Variable nur für die Werte "true" oder "false". Standardmäßig ist der Wert des primitiven booleschen Typs false. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt boolean.
break
Wird verwendet, um die Ausführung im aktuellen Schleifenkörper zu beenden.
byte
Das byteSchlüsselwort wird verwendet, um ein Feld zu deklarieren, das eine 8-Bit-Ganzzahl mit Vorzeichen im Zweier-Komplement enthalten kann. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt byte.
case
Eine Anweisung im switchBlock kann mit einem oder mehreren caseoder defaultLabels gekennzeichnet werden. Die switchAnweisung wertet ihren Ausdruck aus und führt dann alle Anweisungen aus, die dem übereinstimmenden caseLabel folgen ; siehe switch.
catch
Wird in Verbindung mit einem tryBlock und einem optionalen finallyBlock verwendet. Die Anweisungen im catchBlock geben an, was zu tun ist, wenn ein bestimmter Ausnahmetyp vom tryBlock ausgelöst wird .
char
Definiert eine Zeichenvariable, die jedes Zeichen des Zeichensatzes der Java-Quelldatei enthalten kann.
class
Ein Typ, der die Implementierung eines bestimmten Objekttyps definiert. Eine Klassendefinition definiert Instanz und Klasse Felder , Methoden und innere Klassen sowie die Angabe von Schnittstellen Die Klasse implementiert und die unmittelbare Überklasse der Klasse. Wenn die Superklasse nicht explizit angegeben wird, ist die Superklasse implizit Object. Das Schlüsselwort class kann auch in der Form Class .class verwendet werden , um ein Class-Objekt abzurufen , ohne eine Instanz dieser Klasse zu benötigen. Beispielsweise kann String.class anstelle von new String().getClass() verwendet werden .
const
Unbenutzt aber reserviert.
continue
Wird verwendet, um die Programmausführung am Ende des aktuellen Schleifenkörpers fortzusetzen. Wenn ein Label folgt, wird die continueAusführung am Ende des einschließenden beschrifteten Schleifenkörpers fortgesetzt.
default
Das defaultSchlüsselwort kann optional in einer switch-Anweisung verwendet werden , um einen Block von auszuführenden Anweisungen zu kennzeichnen, wenn kein caseWert mit dem angegebenen Wert übereinstimmt; siehe switch. Alternativ kann das defaultSchlüsselwort auch verwendet werden, um Standardwerte in einer Java-Annotation zu deklarieren . Ab Java 8 kann das defaultSchlüsselwort verwendet werden, um einer Schnittstelle die Bereitstellung einer Implementierung einer Methode zu ermöglichen.
do
Das doSchlüsselwort wird in Verbindung mit verwendet while, um eine do-while-Schleife zu erstellen , die einen der Schleife zugeordneten Anweisungsblock ausführt und dann einen mit der verknüpften booleschen Ausdruck testet while. Wenn der Ausdruck als ausgewertet wird, truewird der Block erneut ausgeführt; Dies wird fortgesetzt, bis der Ausdruck ausgewertet wird false.
double
Das doubleSchlüsselwort wird verwendet, um eine Variable zu deklarieren, die eine 64-Bit- Gleitkommazahl mit doppelter Genauigkeit nach IEEE 754 aufnehmen kann . Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt .double
else
Das elseSchlüsselwort wird in Verbindung mit verwendet if, um eine if-else-Anweisung zu erstellen , die einen booleschen Ausdruck testet ; wenn der Ausdruck ausgewertet wird, truewird der Block von Anweisungen ausgewertet , die mit verknüpft ifsind; wenn es ausgewertet wird, falsewird der Block von Anweisungen ausgewertet , die mit verknüpft elsesind.
enum(in J2SE 5.0 hinzugefügt )
Ein Java-Schlüsselwort zum Deklarieren eines Aufzählungstyps . Aufzählungen erweitern die Basisklasse Enum.
extends
Wird in einer Klassendeklaration verwendet, um die Superklasse anzugeben; Wird in einer Schnittstellendeklaration verwendet, um eine oder mehrere Superschnittstellen anzugeben. Klasse X erweitert Klasse Y, um Funktionen hinzuzufügen, entweder durch Hinzufügen von Feldern oder Methoden zu Klasse Y oder durch Überschreiben von Methoden der Klasse Y. Eine Schnittstelle Z erweitert eine oder mehrere Schnittstellen durch Hinzufügen von Methoden. Klasse X wird als Unterklasse von Klasse Y bezeichnet; Schnittstelle Z wird als Unterschnittstelle der Schnittstellen bezeichnet, die sie erweitert.
Wird auch verwendet, um eine Obergrenze für einen Typparameter in Generics anzugeben.
final
Definieren Sie einmal eine Entität, die später weder geändert noch daraus abgeleitet werden kann. Genauer gesagt: Eine finale Klasse kann nicht untergeordnet werden, eine finale Methode kann nicht überschrieben werden und eine finale Variable darf höchstens einmal als linker Ausdruck in einem ausgeführten Befehl vorkommen. Alle Methoden in einer finalen Klasse sind implizit final.
finally
Wird verwendet, um einen Block von Anweisungen für einen zuvor durch das trySchlüsselwort definierten Block zu definieren . Der finallyBlock wird ausgeführt, nachdem die Ausführung den tryBlock und alle zugehörigen catchKlauseln verlassen hat, unabhängig davon, ob eine Ausnahme ausgelöst oder abgefangen wurde oder ob die Ausführung mit dem Schlüsselwort die Methode in der Mitte des tryoder -Blocks verlassen hat.catchreturn
float
Das floatSchlüsselwort wird verwendet, um eine Variable zu deklarieren, die eine 32-Bit- Gleitkommazahl mit einfacher Genauigkeit nach IEEE 754 enthalten kann. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt float.
for
Das forSchlüsselwort wird verwendet, um eine for-Schleife zu erstellen , die eine Variableninitialisierung, einen booleschen Ausdruck und eine Inkrementierung angibt . Zuerst wird die Variableninitialisierung durchgeführt und dann der boolesche Ausdruck ausgewertet. Wenn der Ausdruck als ausgewertet wird, truewird der mit der Schleife verbundene Anweisungsblock ausgeführt, und dann wird die Inkrementierung durchgeführt. Der boolesche Ausdruck wird dann erneut ausgewertet; Dies wird fortgesetzt, bis der Ausdruck ausgewertet wird false.
Ab J2SE 5.0 kann das forSchlüsselwort auch verwendet werden, um eine sogenannte " erweiterte for-Schleife " zu erstellen , die ein Array oder IterableObjekt spezifiziert ; jede Iteration der Schleife führt den zugehörigen Anweisungsblock mit einem anderen Element im Array oder aus Iterable.
goto
Unbenutzt aber reserviert.
if
Das ifSchlüsselwort wird verwendet, um eine if-Anweisung zu erstellen , die einen booleschen Ausdruck testet ; Wenn der Ausdruck als ausgewertet wird, truewird der Block von Anweisungen ausgeführt, der der if-Anweisung zugeordnet ist. Dieses Schlüsselwort kann auch verwendet werden, um eine if-else-Anweisung zu erstellen ; siehe else.
implements
In einer Klassendeklaration enthalten, um eine oder mehrere Schnittstellen anzugeben , die von der aktuellen Klasse implementiert werden. Eine Klasse erbt die von den Schnittstellen deklarierten Typen und abstrakten Methoden.
import
Wird am Anfang einer Quelldatei verwendet , um Klassen oder ganze Java-Pakete anzugeben , auf die später verwiesen wird, ohne deren Paketnamen in die Referenz aufzunehmen. Seit J2SE 5.0 können importAnweisungen staticMember einer Klasse importieren .
instanceof
Ein binärer Operator , der als ersten Operanden eine Objektreferenz und als zweiten Operanden eine Klasse oder Schnittstelle verwendet und ein boolesches Ergebnis erzeugt. Der instanceofOperator wird genau dann als wahr ausgewertet, wenn der Laufzeittyp des Objekts zuweisungskompatibel mit der Klasse oder Schnittstelle ist.
int
Das intSchlüsselwort wird verwendet, um eine Variable zu deklarieren, die eine 32-Bit-Ganzzahl mit Vorzeichen im Zweier-Komplement enthalten kann. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt int.
interface
Wird verwendet, um einen speziellen Klassentyp zu deklarieren, der nur abstrakte oder Standardmethoden, konstante ( static final) Felder und staticSchnittstellen enthält. Es kann später durch Klassen implementiert werden, die die Schnittstelle mit dem implementsSchlüsselwort deklarieren. Da die Mehrfachvererbung in Java nicht erlaubt ist, werden Schnittstellen verwendet, um sie zu umgehen. Eine Schnittstelle kann innerhalb einer anderen Schnittstelle definiert werden.
long
Das longSchlüsselwort wird verwendet, um eine Variable zu deklarieren, die eine 64-Bit-Ganzzahl mit Vorzeichen im Zweier-Komplement enthalten kann. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt long.
native
Wird in Methodendeklarationen verwendet, um anzugeben, dass die Methode nicht in derselben Java-Quelldatei implementiert ist, sondern in einer anderen Sprache.
new
Wird verwendet, um eine Instanz eines Klassen- oder Array-Objekts zu erstellen. Die Verwendung von Schlüsselwort zu diesem Zweck ist nicht unbedingt erforderlich (wie von Scala veranschaulicht ), obwohl es zwei Zwecken dient: Es ermöglicht die Existenz unterschiedlicher Namensräume für Methoden und Klassennamen, es definiert statisch und lokal, dass tatsächlich ein neues Objekt erstellt wird, und um welchen Laufzeittyp es sich handelt (was wohl Abhängigkeit in den Code einführt).
package
Java-Paket ist eine Gruppe ähnlicher Klassen und Schnittstellen. Pakete werden mit dem packageSchlüsselwort deklariert.
private
Das privateSchlüsselwort wird in der Deklaration einer Methode, eines Felds oder einer inneren Klasse verwendet; Auf private Mitglieder können nur andere Mitglieder ihrer eigenen Klasse zugreifen.
protected
Das protectedSchlüsselwort wird in der Deklaration einer Methode, eines Felds oder einer inneren Klasse verwendet; Auf geschützte Member kann nur von Membern ihrer eigenen Klasse, den Unterklassen dieser Klasse oder Klassen aus demselben Paket zugegriffen werden .
public
Das publicSchlüsselwort wird in der Deklaration einer Klasse, Methode oder eines Felds verwendet; Auf öffentliche Klassen, Methoden und Felder können die Mitglieder jeder Klasse zugreifen.
return
Wird verwendet, um die Ausführung einer Methode abzuschließen. Darauf kann ein Wert folgen, der von der Methodendefinition benötigt wird, die an den Aufrufer zurückgegeben wird.
non-sealed
Wird verwendet, um zu deklarieren, dass eine Klasse oder Schnittstelle, die eine versiegelte Klasse erweitert, um unbekannte Klassen erweitert werden kann.
short
Das shortSchlüsselwort wird verwendet, um ein Feld zu deklarieren, das eine vorzeichenbehaftete 16-Bit-Zweierkomplement-Ganzzahl enthalten kann. Dieses Schlüsselwort wird auch verwendet, um zu deklarieren, dass eine Methode einen Wert des primitiven Typs zurückgibt short.
static
Wird verwendet, um ein Feld, eine Methode oder eine innere Klasse als Klassenfeld zu deklarieren. Klassen behalten eine Kopie der Klassenfelder, unabhängig davon, wie viele Instanzen dieser Klasse vorhanden sind. staticwird auch verwendet, um eine Methode als Klassenmethode zu definieren. Klassenmethoden sind an die Klasse statt an eine bestimmte Instanz gebunden und können nur mit Klassenfeldern arbeiten. (Klassen und Schnittstellen, die als staticMitglieder einer anderen Klasse oder Schnittstelle deklariert sind, sind eigentlich Klassen der obersten Ebene und keine inneren Klassen.)
strictfp(in J2SE 1.2 hinzugefügt )
Ein Java-Schlüsselwort, das verwendet wird, um die Genauigkeit und Rundung von Gleitkommaberechnungen einzuschränken, um die Portabilität zu gewährleisten.
super
Vererbung wird im Wesentlichen verwendet, um eine dynamische Bindung oder einen Laufzeitpolymorphismus in Java zu erreichen. Wird verwendet, um auf Member einer Klasse zuzugreifen, die von der Klasse geerbt wurde, in der sie vorkommt. Ermöglicht einer Unterklasse den Zugriff auf überschriebene Methoden und versteckte Member ihrer Oberklasse. Das superSchlüsselwort wird auch verwendet, um einen Aufruf von einem Konstruktor an einen Konstruktor in der Oberklasse weiterzuleiten.
Wird auch verwendet, um eine untere Grenze für einen Typparameter in Generics anzugeben.
switch
Das switchSchlüsselwort wird in Verbindung mit caseund defaultzum Erstellen einer switch-Anweisung verwendet , die eine Variable auswertet, ihren Wert einem bestimmten casezuordnet und den damit verbundenen Anweisungsblock ausführt case. Wenn no casemit dem Wert übereinstimmt, wird der optionale Block mit der Bezeichnung durch defaultausgeführt, falls enthalten.
synchronized
Wird in der Deklaration einer Methode oder eines Codeblocks verwendet, um die Mutex- Sperre für ein Objekt zu erhalten, während der aktuelle Thread den Code ausführt. Bei statischen Methoden ist das gesperrte Objekt die Class. Gewährleistet, dass höchstens ein Thread, der gleichzeitig mit demselben Objekt arbeitet, diesen Code ausführt. Die Mutex-Sperre wird automatisch freigegeben, wenn die Ausführung den synchronisierten Code verlässt. Felder, Klassen und Interfaces können nicht als synchronisiert deklariert werden .
this
Wird verwendet, um eine Instanz der Klasse darzustellen, in der sie vorkommt. thiskann für den Zugriff auf Klassenmitglieder und als Verweis auf die aktuelle Instanz verwendet werden. Das thisSchlüsselwort wird auch verwendet, um einen Aufruf von einem Konstruktor in einer Klasse an einen anderen Konstruktor derselben Klasse weiterzuleiten.
throw
Bewirkt, dass die deklarierte Ausnahmeinstanz ausgelöst wird. Dadurch wird die Ausführung mit dem ersten einschließenden Ausnahmehandler fortgesetzt, der durch das catchSchlüsselwort deklariert wurde , um einen zuweisungskompatiblen Ausnahmetyp zu behandeln. Wenn in der aktuellen Methode kein solcher Ausnahmehandler gefunden wird, kehrt die Methode zurück und der Vorgang wird in der aufrufenden Methode wiederholt. Wenn in einem Methodenaufruf auf dem Stapel kein Ausnahmehandler gefunden wird, wird die Ausnahme an den nicht abgefangenen Ausnahmehandler des Threads übergeben.
throws
Wird in Methodendeklarationen verwendet, um anzugeben, welche Ausnahmen nicht innerhalb der Methode behandelt, sondern an die nächsthöhere Ebene des Programms übergeben werden. Alle nicht abgefangenen Ausnahmen in einer Methode, die keine Instanzen von sind, RuntimeExceptionmüssen mit dem throwsSchlüsselwort deklariert werden .
transient
Deklariert, dass ein Instanzfeld nicht Teil der standardmäßigen serialisierten Form eines Objekts ist. Wenn ein Objekt serialisiert wird, werden nur die Werte seiner nicht vorübergehenden Instanzfelder in die serielle Standarddarstellung eingeschlossen. Wenn ein Objekt deserialisiert wird, werden transiente Felder nur auf ihren Standardwert initialisiert. Wird das Standardformular nicht verwendet, zB wenn eine serialPersistentFields- Tabelle in der Klassenhierarchie deklariert ist, werden alle transientSchlüsselwörter ignoriert.
try
Definiert einen Block von Anweisungen mit Ausnahmebehandlung. Wenn innerhalb des tryBlocks eine Ausnahme ausgelöst wird , kann ein optionaler catchBlock deklarierte Ausnahmetypen behandeln. Außerdem kann ein optionaler finallyBlock deklariert werden, der ausgeführt wird, wenn die Ausführung den tryBlock und die catchKlauseln verlässt , unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht. Ein tryBlock muss mindestens eine catchKlausel oder einen finallyBlock enthalten.
void
Das voidSchlüsselwort wird verwendet, um zu deklarieren, dass eine Methode keinen Wert zurückgibt.
volatile
Wird in Felddeklarationen verwendet, um die Sichtbarkeit von Änderungen an Variablen in Threads zu gewährleisten. Jeder Lesevorgang einer flüchtigen Variablen wird aus dem Hauptspeicher und nicht aus dem CPU-Cache gelesen, und jeder Schreibvorgang auf eine flüchtige Variable wird in den Hauptspeicher und nicht nur in den CPU-Cache geschrieben. Methoden, Klassen und Interfaces können daher nicht als flüchtig deklariert werden , ebenso wenig lokale Variablen oder Parameter.
while
Das whileSchlüsselwort wird verwendet, um eine while-Schleife zu erstellen , die einen booleschen Ausdruck testet und den mit der Schleife verbundenen Anweisungsblock ausführt, wenn der Ausdruck zu ausgewertet wird true; Dies wird fortgesetzt, bis der Ausdruck ausgewertet wird false. Dieses Schlüsselwort kann auch verwendet werden, um eine do-while-Schleife zu erstellen ; siehe do.

Reservierte Bezeichner

Die folgenden Bezeichner sind keine Schlüsselwörter, jedoch in einigen Kontexten eingeschränkt:

permits
Die Erlaubnisklausel gibt die Klassen an, die eine versiegelte Klasse erweitern dürfen.
record
sealed
Eine versiegelte Klasse oder Schnittstelle kann nur durch Klassen und Schnittstellen erweitert oder implementiert werden, die dazu zugelassen sind.
var
Ein spezieller Bezeichner, der nicht als Typname verwendet werden kann (seit Java 10).
yield
Wird verwendet, um einen Wert für einen Schalterausdruck festzulegen, wenn beschriftete Anweisungsgruppen verwendet werden (z. B. case L:).

Reservierte Wörter für wörtliche Werte

true
Ein boolescher Literalwert.
false
Ein boolescher Literalwert.
null
Ein Referenzliteralwert.

Ungebraucht

const
Obwohl in Java als Schlüsselwort reserviert, constwird es nicht verwendet und hat keine Funktion. Informationen zum Definieren von Konstanten in Java finden Sie im finalSchlüsselwort.
goto
Obwohl in Java als Schlüsselwort reserviert, gotowird es nicht verwendet und hat keine Funktion.

Siehe auch

Verweise

Externe Links