1. Lista med ord
Som i alla programmeringsspråk har Java ord som har speciell betydelse. Till exempel returneller ifeller while. Dessa ord kallas nyckelord ( nyckelord ) och anses reserverade av Java-språket.
Du kan inte använda dessa ord som ett variabelnamn, metodnamn eller klassnamn. Kompilatorn kommer alltid att tolka dem på ett strikt definierat sätt. Det finns 54sådana ord i Java.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Du känner redan till några av dem, och vi pratar om resten nu.
2. Primitiva typer
Som du säkert kommer ihåg har Java 8 primitiva typer, och var och en av dem har sitt eget nyckelord:
byteshortintlongcharfloatdoublebooleanvoid
Om du har ett tillräckligt nyfiket sinne finns det en god chans att du redan försökt namnge en variabel int. Och du lyckades såklart inte. Detta är just för att namnen på alla de primitiva typerna är reserverade ord.
Typen voidfaller också i denna kategori.
3. Slingor och grenar
Slingor och grenar ger oss också en ganska lång lista med sökord:
ifelseswitchcasedefaultwhiledoforbreakcontinue
Bara 10 ord räcker för att språket ska tillhandahålla flera typer av loopar, förgreningar och kontrollsatser för att avbryta loopar ( breakoch continue) och flera förgreningar ( switch). Du är redan bekant med alla dessa sökord.
4. Undantag
Undantag ger oss 5 nyckelord:
trycatchfinallythrowthrows
Dessa är alla en del av ett try-catch-finallyblock. Operatören för att kasta undantag är throw, och throwsnyckelordet stöder checkedundantagsmekanismen.
Den goda nyheten är att du redan är bekant med alla nyckelord relaterade till undantag, så du är också redan mest bekant med att arbeta med undantag.
5. Synlighet
Här finns bara tre nyckelord, och du är redan bekant med dem.
privateprotectedpublic
publicger tillgång till en metod/variabel/klass var som helst i programmet.
privateförbjuder åtkomst till en metod/variabel/klass var som helst i programmet. Åtkomst tillåts endast inom samma klass som en metod markerad med modifieraren private.
protectedfungerar på samma sätt som private, men tillåter också åtkomst till en metod/variabel/klass från ärvda klasser. Fördelarna med denna modifierare kommer att bli tydligare för dig när du blir bekant med OOP och arv.
6. Arbeta med klasser
Det finns 11 nyckelord i denna kategori:
classinterfaceenumimportpackageextendsimplementsstaticfinalabstractdefault
De kan delas in i 4 grupper.
Den första gruppen avser skapandet av klasser: class, interfaceoch enum. Du har redan lärt dig om att deklarera klasser och uppräkningar . Nyckelordet interfaceanvänds för att deklarera ännu en klassliknande typ: gränssnitt.
Den andra gruppen består av nyckelord för paket och import, som du redan är bekant med. Paketnyckelordet används för att specificera paketet för en klass i en klassfil. Och importär så att vi kan använda korta namn på externa klasser när vi skriver våra egna klasser.
Nyckelorden extendsoch implementsanvänds för arv. Du kommer att ta en titt på dem i början av Java Core-uppdraget.
Slutligen består den sista gruppen av , , static, och modifierare. Du vet redan lite om och . Nyckelordet används för att göra en klass eller metod abstrakt. Du får mer information när du studerar arv i Java Core-uppdraget.finaldefaultabstractstaticfinalabstract
7. Arbeta med objekt och variabler
Ytterligare sex nyckelord används när man arbetar med objekt, metoder och variabler.
newinstanceofthissuperreturnvar(sedan Java 10)
Operatören newanvänds för att skapa nya objekt — det vet du redan.
Operatorn instanceofanvänds för att verifiera att en variabel innehåller en referens till ett objekt av en viss typ. Du är redan bekant med det.
Nyckelordet thisanvänds för att lösa problem som uppstår på grund av skuggning av instansvariabler och metoder. Du har också studerat detta.
Nyckelordet superär analogt med this, men det används för att referera till metoderna och variablerna för den överordnade klassen. Föräldraklassen kallas även för superklassen.
Satsen returnanvänds för att returnera värdet av en metod, och även för att avsluta exekveringen av en metod.
Slutligen varär det för att deklarera en variabel vars typ automatiskt härleds. Du är redan bekant med detta.
8. Flertrådning
På nivån för Java-syntax representeras multithreading av bara två ord.
synchronizedvolatile
Vi kommer inte ens att röra dem. Gå till Java Multithreading- uppdraget och sedan dyker vi in.
9. Övrigt
Det finns ytterligare fyra speciella sökord:
nativetransientassertstrictfp
nativeär en modifierare som kan skrivas före en metoddeklaration. Det betyder att metodkoden inte är skriven i Java, utan i C++ och är inbäddad i Java-maskinen (tja, eller en DLL). Som du säkert redan gissat är själva Java-maskinen också skriven i C++. Precis som många av de vanliga biblioteksmetoderna.
transientär en modifierare som kan skrivas före instansvariabler (fält i en klass). Den ber Java-maskinen att hoppa över (eller ignorera) den markerade variabeln medan den serialiserar ett objekt i klassen. Du kan lära dig mer om serialisering i Java Collections-uppdraget.
assertkommer även till Java från C++. Med dess hjälp kan du lägga till ytterligare kontroller i din kod (till exempel för att kontrollera om en variabel är null). Det viktiga här är att dessa kontroller är aktiverade eller inaktiverade vid kompilering.
Du kan bygga projektet för intern testning, och dessa kontroller kommer att utföras (ingår i bygget). Eller så kan du inaktivera dem under kompileringen för att skapa den version av programmet som kommer att levereras till användarna.
När det gäller strictfpnyckelordet och den extra precisionen hos Intel-processorer har vi en hel historia för dig .
10. Reserverad men ej använd
Det finns också två nyckelord som är reserverade men som inte används.
constgoto
Dessa är också ett arv från C++-språket, där de finns och används.
11. Inte nyckelord
Formellt är konstanterna trueoch falsekonstanterna nullinte nyckelord. Som sagt, de har var och en sina egenheter. Du kan inte namnge en metod trueeller en variabel false. Kompilatorn kommer inte att förstå sådan kod och kommer inte att kompilera den.
GO TO FULL VERSION