Liste der Java-Schlüsselwörter - List of Java keywords
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
byte
Schlü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ückgibtbyte
.
-
case
- Eine Anweisung im
switch
Block kann mit einem oder mehrerencase
oderdefault
Labels gekennzeichnet werden. Dieswitch
Anweisung wertet ihren Ausdruck aus und führt dann alle Anweisungen aus, die dem übereinstimmendencase
Label folgen ; sieheswitch
.
catch
- Wird in Verbindung mit einem
try
Block und einem optionalenfinally
Block verwendet. Die Anweisungen imcatch
Block geben an, was zu tun ist, wenn ein bestimmter Ausnahmetyp vomtry
Block 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
continue
Ausführung am Ende des einschließenden beschrifteten Schleifenkörpers fortgesetzt.
-
default
- Das
default
Schlüsselwort kann optional in einer switch-Anweisung verwendet werden , um einen Block von auszuführenden Anweisungen zu kennzeichnen, wenn keincase
Wert mit dem angegebenen Wert übereinstimmt; sieheswitch
. Alternativ kann dasdefault
Schlüsselwort auch verwendet werden, um Standardwerte in einer Java-Annotation zu deklarieren . Ab Java 8 kann dasdefault
Schlüsselwort verwendet werden, um einer Schnittstelle die Bereitstellung einer Implementierung einer Methode zu ermöglichen.
-
do
- Das
do
Schlüsselwort wird in Verbindung mit verwendetwhile
, um eine do-while-Schleife zu erstellen , die einen der Schleife zugeordneten Anweisungsblock ausführt und dann einen mit der verknüpften booleschen Ausdruck testetwhile
. Wenn der Ausdruck als ausgewertet wird,true
wird der Block erneut ausgeführt; Dies wird fortgesetzt, bis der Ausdruck ausgewertet wirdfalse
.
double
- Das
double
Schlü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
else
Schlüsselwort wird in Verbindung mit verwendetif
, um eine if-else-Anweisung zu erstellen , die einen booleschen Ausdruck testet ; wenn der Ausdruck ausgewertet wird,true
wird der Block von Anweisungen ausgewertet , die mit verknüpftif
sind; wenn es ausgewertet wird,false
wird der Block von Anweisungen ausgewertet , die mit verknüpftelse
sind.
-
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
try
Schlüsselwort definierten Block zu definieren . Derfinally
Block wird ausgeführt, nachdem die Ausführung dentry
Block und alle zugehörigencatch
Klauseln 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 destry
oder -Blocks verlassen hat.catch
return
float
- Das
float
Schlü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ückgibtfloat
.
for
- Das
for
Schlü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,true
wird 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 wirdfalse
.
- Ab J2SE 5.0 kann das
for
Schlüsselwort auch verwendet werden, um eine sogenannte " erweiterte for-Schleife " zu erstellen , die ein Array oderIterable
Objekt spezifiziert ; jede Iteration der Schleife führt den zugehörigen Anweisungsblock mit einem anderen Element im Array oder ausIterable
.
goto
- Unbenutzt aber reserviert.
-
if
- Das
if
Schlüsselwort wird verwendet, um eine if-Anweisung zu erstellen , die einen booleschen Ausdruck testet ; Wenn der Ausdruck als ausgewertet wird,true
wird 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 ; sieheelse
.
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
import
Anweisungenstatic
Member 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
instanceof
Operator wird genau dann als wahr ausgewertet, wenn der Laufzeittyp des Objekts zuweisungskompatibel mit der Klasse oder Schnittstelle ist.
int
- Das
int
Schlü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ückgibtint
.
interface
- Wird verwendet, um einen speziellen Klassentyp zu deklarieren, der nur abstrakte oder Standardmethoden, konstante (
static final
) Felder undstatic
Schnittstellen enthält. Es kann später durch Klassen implementiert werden, die die Schnittstelle mit demimplements
Schlü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
long
Schlü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ückgibtlong
.
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
package
Schlüsselwort deklariert.
private
- Das
private
Schlü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
protected
Schlü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
public
Schlü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
short
Schlü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ückgibtshort
.
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.
static
wird 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 alsstatic
Mitglieder 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
super
Schlü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
switch
Schlüsselwort wird in Verbindung mitcase
unddefault
zum Erstellen einer switch-Anweisung verwendet , die eine Variable auswertet, ihren Wert einem bestimmtencase
zuordnet und den damit verbundenen Anweisungsblock ausführtcase
. Wenn nocase
mit dem Wert übereinstimmt, wird der optionale Block mit der Bezeichnung durchdefault
ausgefü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.
this
kann für den Zugriff auf Klassenmitglieder und als Verweis auf die aktuelle Instanz verwendet werden. Dasthis
Schlü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
catch
Schlü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,
RuntimeException
müssen mit demthrows
Schlü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
transient
Schlüsselwörter ignoriert.
try
- Definiert einen Block von Anweisungen mit Ausnahmebehandlung. Wenn innerhalb des
try
Blocks eine Ausnahme ausgelöst wird , kann ein optionalercatch
Block deklarierte Ausnahmetypen behandeln. Außerdem kann ein optionalerfinally
Block deklariert werden, der ausgeführt wird, wenn die Ausführung dentry
Block und diecatch
Klauseln verlässt , unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht. Eintry
Block muss mindestens einecatch
Klausel oder einenfinally
Block enthalten.
void
- Das
void
Schlü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
while
Schlü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 wirdtrue
; Dies wird fortgesetzt, bis der Ausdruck ausgewertet wirdfalse
. Dieses Schlüsselwort kann auch verwendet werden, um eine do-while-Schleife zu erstellen ; siehedo
.
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,
const
wird es nicht verwendet und hat keine Funktion. Informationen zum Definieren von Konstanten in Java finden Sie imfinal
Schlüsselwort.
goto
- Obwohl in Java als Schlüsselwort reserviert,
goto
wird es nicht verwendet und hat keine Funktion.
Siehe auch
Verweise
Externe Links
- Gosling, James ; Freude, Bill ; Steele, Kerl ; Bracha, Gilad (Juni 2005). Java-Sprachspezifikation (Dritte Aufl.). Addison-Wesley- Profi. ISBN 978-0-321-24678-3. Abgerufen 2008-12-03 .
- Flanagan, David (März 2005). Java in Kürze (Fünfte Aufl.). O'Reilly-Medien . ISBN 978-0-596-00773-7. Abgerufen 2010-03-03 .