Lista över Java-sökord
I programmeringsspråket Java är ett nyckelord vilket som helst av 67 reserverade ord som har en fördefinierad betydelse i språket. På grund av detta kan programmerare inte använda nyckelord i vissa sammanhang, till exempel namn på variabler , metoder , klasser eller som någon annan identifierare . Av dessa 67 nyckelord är 16 av dem endast kontextuellt reserverade, och kan ibland användas som en identifierare, till skillnad från vanliga reserverade ord. På grund av deras speciella funktioner i språket använder de flesta integrerade utvecklingsmiljöer för Java syntaxmarkering för att visa nyckelord i en annan färg för enkel identifiering.
Lista över Java-sökord
_
- Tillagt i Java 9 har understrecket blivit ett nyckelord och kan inte längre användas som ett variabelnamn.
abstrakt
- En metod utan definition måste deklareras som abstrakt och klassen som innehåller den måste deklareras som abstrakt. Abstrakta klasser kan inte instansieras. Abstrakta metoder måste implementeras i underklasserna. Det abstrakta nyckelordet kan inte användas med variabler eller konstruktorer. Observera att en abstrakt klass inte alls krävs för att ha en abstrakt metod.
-
assert
(tillagt i J2SE 1.4 ) - Assert beskriver ett predikat (ett sant–falskt påstående) placerat i ett Java-program för att indikera att utvecklaren tror att predikatet alltid är sant på den platsen. Om ett påstående utvärderas till falskt vid körning, uppstår ett påståendefel, vilket vanligtvis gör att körningen avbryts. Påståenden är inaktiverade vid körning som standard, men kan aktiveras via ett kommandoradsalternativ eller programmatiskt genom en metod på klassladdaren.
boolean
- Definierar en boolesk variabel endast för värdena "true" eller "false". Som standard är värdet för boolesk primitiv typ falskt. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typen
boolean
.
break
- Används för att avsluta exekveringen i den aktuella loopkroppen.
- Används för att bryta ut ur ett
kopplingsblock
.
byte
- Nyckelordet
byte
används för att deklarera ett fält som kan innehålla ett 8-bitars signerat två-komplement heltal. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typenbyte
.
-
case
- En sats i
switchblocket
kan märkas med en eller fleracase
ellerstandardetiketter
. Switch-
satsen utvärderar sitt uttryck och exekverar sedan alla satser som följer den matchandecase
-etiketten; seomkopplare
.
catch
- Används i kombination med ett
försöksblock
och ett valfrittslutligen
block. Satserna icatch
-blocket anger vad som ska göras om en specifik typ av undantag kastas avtry-
blocket.
char
- Definierar en teckenvariabel som kan innehålla vilket tecken som helst i java-källfilens teckenuppsättning.
klass
- En typ som definierar implementeringen av en viss typ av objekt. En klassdefinition definierar instans- och klassfält , metoder och inre klasser samt specificerar gränssnitten som klassen implementerar och klassens omedelbara superklass . Om superklassen inte är explicit specificerad är superklassen implicit
Object
. Klassnyckelordet kan också användas i formen Class .class för att få ett Class-objekt utan att behöva en instans av den klassen. Till exempel String.class användas istället för att göra nya String().getClass() .
const
- Oanvänd men reserverad.
fortsätt
- Används för att återuppta programkörningen i slutet av den aktuella loopkroppen. Om den följs av en etikett,
fortsätt
återupptar exekveringen i slutet av den omslutande märkta loopkroppen.
-
default
- Standardnyckelordet kan valfritt användas i en switch-sats för att märka ett block med satser
som
ska köras om ingetfall
matchar det angivna värdet; seomkopplare
. Alternativtstandardnyckelordet
också användas för att deklarera standardvärden i en Java-kommentar . Från Java 8 och framåtstandardnyckelordet
användas för att tillåta ett gränssnitt att tillhandahålla en implementering av en metod.
-
do
- Nyckelordet
do
används tillsammans medwhile
för att skapa en do-while loop , som exekverar ett block med satser associerade med slingan och sedan testar ett booleskt uttryck associerat medwhile
. Om uttrycket evalueras tilltrue
exekveras blocket igen; detta fortsätter tills uttrycket evalueras tillfalskt
.
double
- Det
dubbla
nyckelordet används för att deklarera en variabel som kan innehålla ett 64-bitars dubbel precision IEEE 754 flyttal . Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typendubbel
.
-
else
- Nyckelordet
else
används tillsammans medif
för att skapa en if-else-sats , som testar ett booleskt uttryck ; om uttrycket evalueras tilltrue ,
utvärderas blocket av satser som är associerade medif ;
om det utvärderas tillfalse ,
utvärderas blocket av satser som är associerade medelse .
-
enum
(tillagt i J2SE 5.0 ) - Ett Java-nyckelord som används för att deklarera en uppräknad typ . Uppräkningar utökar basklassen
Enum
.
extends
- Används i en klassdeklaration för att specificera superklassen; används i en gränssnittsdeklaration för att specificera ett eller flera supergränssnitt. Klass X utökar klass Y för att lägga till funktionalitet, antingen genom att lägga till fält eller metoder till klass Y, eller genom att åsidosätta metoder för klass Y. Ett gränssnitt Z utökar ett eller flera gränssnitt genom att lägga till metoder. Klass X sägs vara en underklass av klass Y; Gränssnitt Z sägs vara ett undergränssnitt till de gränssnitt det utökar.
- Används även för att ange en övre gräns för en typparameter i Generics.
final
- Definiera en enhet en gång som inte kan ändras eller härledas från senare. Mer specifikt: en slutlig klass kan inte underklassas, en slutlig metod kan inte åsidosättas och en slutlig variabel kan högst förekomma en gång som ett vänsteruttryck på ett kört kommando. Alla metoder i en sista klass är implicit
slutgiltiga
.
finally
- Används för att definiera ett block med satser för ett block som tidigare definierats av nyckelordet
try .
Finally-blocket
exekveras efter att exekveringen lämnartry-
blocket och eventuella associeradecatch-
satser oavsett om ett undantag kastades eller fångades, eller exekverings vänster-metoden i mitten av tryeller
catch-
blocken med nyckelordetreturn .
float
- Nyckelordet
float
används för att deklarera en variabel som kan innehålla ett 32-bitars enda precision IEEE 754 flyttal. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typenfloat
.
for
- Nyckelordet
for
används för att skapa en for-loop , som anger en variabelinitiering, ett booleskt uttryck och en inkrementering. Variabelinitieringen utförs först och sedan utvärderas det booleska uttrycket. Om uttrycket evalueras tilltrue exekveras
blocket av satser som är associerade med slingan, och sedan utförs ökningen. Det booleska uttrycket utvärderas sedan igen; detta fortsätter tills uttrycket evalueras tillfalskt
.
- Från och med J2SE 5.0 kan nyckelordet
for
också användas för att skapa en så kallad " enhanced for loop ", som specificerar en array ellerIterable
-objekt; varje iteration av loopen exekverar det associerade blocket av satser med ett annat element i arrayen ellerIterable
.
goto
- Oanvänd men reserverad.
-
if
- Nyckelordet
if
används för att skapa en if-sats , som testar ett booleskt uttryck ; om uttrycket evalueras tilltrue
, exekveras blocket av satser som är associerade med if-satsen. Detta nyckelord kan också användas för att skapa en if-else-sats ; seannat
.
implements
- Ingår i en klassdeklaration för att specificera ett eller flera gränssnitt som implementeras av den aktuella klassen. En klass ärver de typer och abstrakta metoder som deklareras av gränssnitten.
-
import
- Används i början av en källfil för att ange klasser eller hela Java-paket som ska refereras till senare utan att inkludera deras paketnamn i referensen. Sedan J2SE 5.0
importsatser
importerastatiska
medlemmar av en klass.
instanceof
- En binär operator som tar en objektreferens som sin första operand och en klass eller gränssnitt som sin andra operand och ger ett booleskt resultat. Operatörsinstansen utvärderas till true om och endast om objektets körtidstyp är tilldelningskompatibel med klassen eller gränssnittet
.
int
- Nyckelordet
int
används för att deklarera en variabel som kan innehålla ett 32-bitars två-teckens komplementheltal. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typenint
.
gränssnitt
- Används för att deklarera en speciell typ av klass som bara innehåller abstrakta eller standardmetoder, konstanta (
statiska slutliga
) fält ochstatiska
gränssnitt. Det kan senare implementeras av klasser som deklarerar gränssnittet med nyckelordetimplements .
Eftersom multipelarv inte är tillåtet i Java används gränssnitt för att kringgå det. Ett gränssnitt kan definieras inom ett annat gränssnitt.
long
- Nyckelordet
long
används för att deklarera en variabel som kan innehålla ett 64-bitars förtecknat tvås komplementheltal. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typenlong
.
native
- Används i metoddeklarationer för att specificera att metoden inte är implementerad i samma Java-källfil, utan snarare på ett annat språk.
-
new
- Används för att skapa en instans av ett klass- eller arrayobjekt. Att använda nyckelord för detta ändamål är inte helt nödvändigt (som exemplifieras av Scala ), även om det tjänar två syften: det möjliggör existensen av olika namnutrymmen för metoder och klassnamn, det definierar statiskt och lokalt att ett nytt objekt verkligen skapas, och vilken körtidstyp det är (förmodligen införa beroende i koden).
paket
- Java-paket är en grupp av liknande klasser och gränssnitt. Paket deklareras med nyckelordet
paket .
privat
- Det
privata
nyckelordet används i deklarationen av en metod, ett fält eller en inre klass; privata medlemmar kan endast nås av andra medlemmar i sin egen klass.
protected
- Det
skyddade
nyckelordet används i deklarationen av en metod, ett fält eller en inre klass; skyddade medlemmar kan endast nås av medlemmar i sin egen klass, den klassens underklasser eller klasser från samma paket .
public
- Det
offentliga
nyckelordet används i deklarationen av en klass, metod eller fält; publika klasser, metoder och fält kan nås av medlemmarna i vilken klass som helst.
return
- Används för att avsluta exekveringen av en metod. Det kan följas av ett värde som krävs av metoddefinitionen som returneras till den som ringer
kort .
- Det
korta
nyckelordet används för att deklarera ett fält som kan innehålla ett 16-bitars signerat tvås komplementheltal. Detta nyckelord används också för att deklarera att en metod returnerar ett värde av den primitiva typenshort
.
static
- Används för att deklarera ett fält, en metod eller en inre klass som ett klassfält. Klasser upprätthåller en kopia av klassfält oavsett hur många instanser som finns av den klassen.
static
används också för att definiera en metod som en klassmetod. Klassmetoder är bundna till klassen istället för till en specifik instans och kan bara fungera på klassfält. Klasser och gränssnitt som deklareras somstatiska
medlemmar av en annan klass eller gränssnitt är faktiskt klasser på toppnivå och är inte inre klasser.
super
- Arv används i princip för att uppnå dynamisk bindning eller körtidspolymorfism i java. Används för att komma åt medlemmar i en klass som ärvts av klassen där den förekommer. Tillåter en underklass att komma åt åsidosatta metoder och dolda medlemmar av dess superklass. Nyckelordet
super
används också för att vidarebefordra ett samtal från en konstruktör till en konstruktör i superklassen. - Används även för att ange en nedre gräns för en typparameter i Generics.
-
switch
- Nyckelordet
switch
används tillsammans medcase
ochdefault
för att skapa en switch-sats , som utvärderar en variabel, matchar dess värde med ett specifiktfall
och exekverar blocket av satser som är associerade med detfallet
. Om ingetfall
matchar värdet, exekveras det valfria blocket märkt somstandard
, om det ingår.
-
synchronized
- Används i deklarationen av en metod eller kodblock för att förvärva mutex- låset för ett objekt medan den aktuella tråden exekverar koden. För statiska metoder är det låsta objektet klassens
klass
. Garanterar att högst en tråd åt gången som arbetar på samma objekt exekverar den koden. Mutex-låset släpps automatiskt när körningen avslutar den synkroniserade koden. Fält, klasser och gränssnitt kan inte deklareras som synkroniserade .
detta
- Används för att representera en instans av klassen där den förekommer.
detta
kan användas för att komma åt klassmedlemmar och som en referens till den aktuella instansen. Nyckelordetthis
används också för att vidarebefordra ett samtal från en konstruktör i en klass till en annan konstruktör i samma klass.
throw
- Gör att den deklarerade undantagsinstansen kastas. Detta gör att exekveringen fortsätter med den första omslutande undantagshanteraren som deklareras av
catch
för att hantera en tilldelningskompatibel undantagstyp. Om ingen sådan undantagshanterare hittas i den aktuella metoden, returnerar metoden och processen upprepas i anropsmetoden. Om ingen undantagshanterare hittas i något metodanrop på stacken, skickas undantaget till trådens ouppfångade undantagshanterare.
throws
- Används i metoddeklarationer för att specificera vilka undantag som inte hanteras inom metoden utan skickas till nästa högre nivå i programmet. Alla oupptäckta undantag i en metod som inte är instanser av
RuntimeException
måste deklareras med nyckelordetthrows .
transient
- Deklarerar att ett instansfält inte är en del av den serialiserade standardformen för ett objekt. När ett objekt serialiseras inkluderas endast värdena för dess icke-transienta instansfält i standardserierepresentationen. När ett objekt deserialiseras, initieras övergående fält endast till deras standardvärde. Om standardformuläret inte används, t.ex. när en serialPersistentFields- tabell deklareras i klasshierarkin, ignoreras alla
tillfälliga nyckelord.
try
- Definierar ett block av satser som har undantagshantering. Om ett undantag kastas in i
försöksblocket
, kan ett valfrittfångstblock
hantera deklarerade undantagstyper. Dessutom kan ett valfrittfinally
-block deklareras som kommer att exekveras när exekveringen lämnartry-
blocket ochcatch-
satserna, oavsett om ett undantag slängs eller inte. Ettförsöksblock
måste ha minst encatch-
sats eller ettfinally-
block.
void
- Nyckelordet
void
används för att deklarera att en metod inte returnerar något värde.
volatile
- Används i fältdeklarationer för att garantera synlighet av ändringar av variabler över trådar. Varje läsning av en flyktig variabel kommer att läsas från huvudminnet, och inte från CPU-cachen, och att varje skrivning till en flyktig variabel kommer att skrivas till huvudminnet, och inte bara till CPU-cachen. Metoder, klasser och gränssnitt kan således inte deklareras flyktiga , inte heller lokala variabler eller parametrar.
-
while
- Nyckelordet
while
används för att skapa en while-loop , som testar ett booleskt uttryck och exekverar blocket av satser som är associerade med slingan om uttrycket evalueras tillsant
; detta fortsätter tills uttrycket evalueras tillfalskt
. Detta nyckelord kan också användas för att skapa en do-while loop ; segör
.
Reserverade identifierare
Följande identifierare är kontextuella nyckelord och är endast begränsade i vissa sammanhang:
export
modul
non-sealed
- Används för att deklarera att en klass eller gränssnitt som utökar en förseglad klass kan utökas med okända klasser.
öppna
öppnar
tillstånd
- Tillståndsklausulen anger vilka klasser som är tillåtna att utöka en förseglad klass.
ger
rekord
kräver
förseglad
- En förseglad klass eller gränssnitt kan endast utökas eller implementeras av klasser och gränssnitt som är tillåtna att göra det.
till
transitive
uses
var
- En speciell identifierare som inte kan användas som ett typnamn (sedan Java 10).
with
yield
- Används för att ställa in ett värde för ett växlingsuttryck när märkta satsgrupper används (till exempel
case L: )
.
Reserverade ord för bokstavliga värden
sant
- Ett booleskt bokstavligt värde.
false
- Ett booleskt bokstavligt värde.
null
- Ett bokstavligt referensvärde.
Oanvänd
const
- Även om det är reserverat som ett nyckelord i Java, används inte
const och har ingen funktion.
För att definiera konstanter i Java, se detsista
nyckelordet.
goto
- Även om det är reserverat som ett nyckelord i Java, används inte
goto och har ingen funktion.
-
strictfp
(tillagt i J2SE 1.2 ) - Även om det är reserverat som ett nyckelord i Java, är
strictfp
föråldrat och har inte längre någon funktion. Tidigare användes detta nyckelord för att begränsa precisionen och avrundningen av flyttalsberäkningar för att säkerställa portabilitet.
Se även
externa länkar
- Gosling, James ; Joy, Bill ; Steele, Guy ; Bracha, Gilad (juni 2005). Java Language Specification (tredje upplagan). Addison-Wesley Professional. ISBN 978-0-321-24678-3 . Hämtad 2008-12-03 .
- Flanagan, David (mars 2005). Java i ett nötskal (femte upplagan). O'Reilly Media . ISBN 978-0-596-00773-7 . Hämtad 2010-03-03 .