1. Liste over ord
Som i ethvert programmeringssprog har Java ord, der har en særlig betydning. For eksempel returneller ifeller while. Disse ord kaldes nøgleord ( nøgleord ) og betragtes som reserveret af Java-sproget.
Du kan ikke bruge disse ord som et variabelnavn, metodenavn eller klassenavn. Compileren vil altid fortolke dem på en strengt defineret måde. Der er 54sådanne ord i Java.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Du kender allerede nogle af dem, og vi taler om resten lige nu.
2. Primitive typer
Som du sikkert husker, har Java 8 primitive typer, og hver af dem har sit eget søgeord:
byteshortintlongcharfloatdoublebooleanvoid
Hvis du har et tilstrækkeligt nysgerrigt sind, er der en god chance for, at du allerede har prøvet at navngive en variabel int. Og det lykkedes selvfølgelig ikke. Det er netop fordi navnene på alle de primitive typer er reserverede ord.
Typen voidfalder også ind under denne kategori.
3. Løkker og grene
Sløjfer og grene giver os også en ret lang liste af søgeord:
ifelseswitchcasedefaultwhiledoforbreakcontinue
Kun 10 ord er nok til, at sproget giver flere slags loops, brancher og kontroludsagn til at afbryde loops ( breakog continue) og flere brancher ( switch). Du er allerede bekendt med alle disse søgeord.
4. Undtagelser
Undtagelser giver os 5 nøgleord:
trycatchfinallythrowthrows
Disse er alle en del af en try-catch-finallyblok. Operatoren til at kaste undtagelser er throw, og throwsnøgleordet understøtter checkedundtagelsesmekanismen.
Den gode nyhed er, at du allerede er bekendt med alle søgeord relateret til undtagelser, så du er også allerede mest bekendt med at arbejde med undtagelser.
5. Synlighed
Her er der kun tre nøgleord, og du kender dem allerede.
privateprotectedpublic
publicgiver adgang til en metode/variabel/klasse fra hvor som helst i programmet.
privateforbyder adgang til en metode/variabel/klasse fra et hvilket som helst sted i programmet. Adgang er kun tilladt inden for samme klasse som en metode markeret med modifikatoren private.
protectedfungerer på samme måde som private, men giver også adgang til en metode/variabel/klasse fra nedarvede klasser. Fordelene ved denne modifikator vil blive tydeligere for dig, når du bliver fortrolig med OOP og arv.
6. Arbejde med klasser
Der er 11 søgeord i denne kategori:
classinterfaceenumimportpackageextendsimplementsstaticfinalabstractdefault
De kan opdeles i 4 grupper.
Den første gruppe vedrører oprettelsen af klasser: class, interfaceog enum. Du har allerede lært om at erklære klasser og optællinger . Nøgleordet interfacebruges til at erklære endnu en klasselignende type: grænseflader.
Den anden gruppe består af pakke- og importnøgleord , som du allerede er bekendt med. Pakkenøgleordet bruges til at angive pakken for en klasse i en klassefil. Og importer så vi kan bruge korte navne på eksterne klasser, når vi skriver vores egne klasser.
Nøgleordene extendsog implementsbruges til arv. Du vil tage et kig på dem helt i begyndelsen af Java Core-questen.
Endelig består den sidste gruppe af static, final, default, og abstractmodifikatorerne. Du ved allerede lidt om staticog final. Nøgleordet abstractbruges til at gøre en klasse eller metode abstrakt. Du får flere detaljer, når du studerer arv i Java Core-quest.
7. Arbejde med objekter og variabler
Der bruges seks nøgleord mere, når man arbejder med objekter, metoder og variabler.
newinstanceofthissuperreturnvar(siden Java 10)
Operatøren newbruges til at oprette nye objekter - det ved du allerede.
Operatoren instanceofbruges til at verificere, at en variabel indeholder en reference til et objekt af en bestemt type. Du er allerede bekendt med det.
Nøgleordet thisbruges til at løse problemer, der opstår på grund af skyggelægningen af instansvariabler og -metoder. Du har også studeret dette.
Nøgleordet superer analogt med this, men det bruges til at henvise til metoderne og variablerne i den overordnede klasse. Forældreklassen kaldes også for superklassen.
Udsagnet returnbruges til at returnere værdien af en metode og også til at afslutte udførelsen af en metode.
Endelig varer det til at erklære en variabel, hvis type automatisk udledes. Du er allerede bekendt med dette.
8. Multithreading
På niveauet for Java-syntaks er multithreading repræsenteret af kun to ord.
synchronizedvolatile
Vi vil ikke engang røre dem. Kom til Java Multithreading- quest, og så dykker vi ind.
9. Diverse
Der er yderligere 4 specielle søgeord:
nativetransientassertstrictfp
nativeer en modifikator, der kan skrives før en metodedeklaration. Det betyder, at metodekoden ikke er skrevet i Java, men i C++ og er indlejret i Java-maskinen (nå, eller en DLL). Som du sikkert allerede har gættet, er selve Java-maskinen også skrevet i C++. Ligesom mange af de almindelige biblioteksmetoder.
transienter en modifikator, der kan skrives før instansvariabler (felter i en klasse). Den beder Java-maskinen om at springe over (eller ignorere) den markerede variabel, mens den serialiserer et objekt i klassen. Du kan lære mere om serialisering i Java Collections-questen.
assertkommer også til Java fra C++. Med dens hjælp kan du tilføje yderligere kontroller til din kode (for eksempel for at kontrollere, om en variabel er nul). Det vigtige her er, at disse kontroller er aktiveret eller deaktiveret på kompileringstidspunktet.
Du kan bygge projektet til intern test, og disse kontroller vil blive udført (inkluderet i build). Eller du kan deaktivere dem under kompilering for at oprette den version af programmet, der vil blive leveret til brugerne.
Hvad angår strictfpnøgleordet og den ekstra præcision af Intel-processorer, har vi en hel historie til dig .
10. Reserveret, men ikke brugt
Der er også to søgeord, der er reserveret, men ikke brugt.
constgoto
Disse er også en arv fra C++ sproget, hvor de findes og bruges.
11. Ikke søgeord
Formelt set er konstanterne og truekonstanterne ikke nøgleord. Når det er sagt, har de hver deres særegenheder. Du kan ikke navngive en metode eller en variabel . Compileren vil ikke forstå en sådan kode og vil ikke kompilere den.falsenulltruefalse
GO TO FULL VERSION