1. Szavak listája
Mint minden programozási nyelvben, a Java-ban is vannak olyan szavak, amelyeknek különleges jelentése van. Például, return
vagy if
vagy while
. Ezeket a szavakat kulcsszavaknak ( kulcsszavak ) nevezik , és a Java nyelv fenntartja őket.
Ezeket a szavakat nem használhatja változónévként, metódusnévként vagy osztálynévként. A fordító ezeket mindig szigorúan meghatározott módon értelmezi. Vannak 54
ilyen szavak a Java nyelven.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Néhányat már ismer, a többiről pedig most beszélünk.
2. Primitív típusok
Mint valószínűleg emlékszel, a Java-nak 8 primitív típusa van, és mindegyiknek megvan a saját kulcsszava:
byte
short
int
long
char
float
double
boolean
void
Ha kellően érdeklődő az elméd, jó eséllyel már megpróbáltál elnevezni egy int változót. És persze nem sikerült. Ez pontosan azért van, mert az összes primitív típus neve fenntartott szavak.
A void
típus is ebbe a kategóriába tartozik.
3. Hurkok és ágak
A hurkok és elágazások a kulcsszavak meglehetősen hosszú listáját is megadják:
if
else
switch
case
default
while
do
for
break
continue
break
Mindössze 10 szó elegendő ahhoz, hogy a nyelv többféle hurkot, elágazást és vezérlő utasítást biztosítson a ciklusok ( és continue
) és több ág ( ) megszakításához switch
. Ön már ismeri ezeket a kulcsszavakat.
4. Kivételek
A kivételek 5 kulcsszót adnak nekünk:
try
catch
finally
throw
throws
Ezek mind egy blokk részei try-catch-finally
. A kivételek dobásának operátora a throw
, és a throws
kulcsszó támogatja a checked
kivételek mechanizmusát.
A jó hír az, hogy már ismeri a kivételekhez kapcsolódó összes kulcsszót, így a kivételekkel való munkavégzésben is nagyrészt már ismeri.
5. Láthatóság
Itt csak három kulcsszó van, és Ön már ismeri őket.
private
protected
public
public
lehetővé teszi a metódus/változó/osztály elérését a program bármely pontjáról.
private
megtiltja egy metódus/változó/osztály elérését a program bármely pontjáról. Hozzáférés csak a módosítóval jelölt metódussal azonos osztályon belül engedélyezett private
.
protected
ugyanúgy működik private
, mint a, de lehetővé teszi a hozzáférést egy metódushoz/változóhoz/osztályhoz az örökölt osztályokból. Ennek a módosítónak az előnyei világosabbá válnak az Ön számára, ha megismeri az OOP-t és az öröklődést.
6. Osztályokkal való munka
Ebben a kategóriában 11 kulcsszó található:
class
interface
enum
import
package
extends
implements
static
final
abstract
default
4 csoportra oszthatók.
Az első csoport az osztályok létrehozására vonatkozik: class
, interface
és enum
. Már tanult az osztályok és enumok deklarálásáról . A interface
kulcsszó egy másik osztályszerű típus deklarálására szolgál: az interfészek.
A második csoport a csomag és import kulcsszavakból áll , amelyeket már ismer. A package kulcsszó egy osztály csomagjának megadására szolgál egy osztályfájlban. És import
így használhatjuk a külső osztályok rövid neveit saját osztályaink írásakor.
A extends
és implements
kulcsszavakat az öröklődésre használják. Vessen egy pillantást rájuk a Java Core küldetés legelején.
static
Végül az utolsó csoport a , final
, default
és módosítókból áll abstract
. Már ismersz egy kicsit static
a és final
. A abstract
kulcsszó egy osztály vagy metódus absztrakttá tételére szolgál. További részleteket kaphat, ha a Java Core küldetésben az öröklődést tanulmányozza.
7. Munka objektumokkal és változókkal
Hat további kulcsszót használunk az objektumokkal, metódusokkal és változókkal való munka során.
new
instanceof
this
super
return
var
(Java 10 óta)
Az new
operátort új objektumok létrehozására használják – ezt már tudod.
Az instanceof
operátor annak ellenőrzésére szolgál, hogy egy változó tartalmaz-e hivatkozást egy adott típusú objektumra. Ön már ismeri.
A this
kulcsszó a példányváltozók és metódusok árnyékolása miatt felmerülő problémák megoldására szolgál. Ezt is tanulmányoztad.
A super
kulcsszó analóg a kulcsszóval this
, de a szülőosztály metódusaira és változóira utal. A szülőosztályt szuperosztálynak is nevezik.
Az return
utasítás egy metódus értékének visszaadására, valamint a metódus végrehajtásának leállítására szolgál.
Végül var
egy olyan változó deklarálására szolgál, amelynek típusa automatikusan következtet. Ezt már ismeri.
8. Többszálú
A Java szintaxis szintjén a többszálas működést mindössze két szó képviseli.
synchronized
volatile
Nem is nyúlunk hozzájuk. Lépjen be a Java Multithreading küldetésbe, és akkor belemerülünk.
9. Vegyes
Van még 4 speciális kulcsszó:
native
transient
assert
strictfp
native
egy módosító, amely egy metódus deklaráció elé írható. Ez azt jelenti, hogy a metóduskód nem Java-ban, hanem C++-ban van megírva, és be van ágyazva a Java gépbe (jól, vagy egy DLL-be). Amint azt már valószínűleg sejtette, maga a Java gép is C++ nyelven íródott. Csakúgy, mint sok szabványos könyvtári módszer.
transient
egy módosító, amely a példányváltozók (egy osztály mezői) elé írható. Megkéri a Java gépet, hogy hagyja ki (vagy hagyja figyelmen kívül) a megjelölt változót az osztály egy objektumának szerializálása közben. A sorozatosításról a Java Collections küldetésben tudhat meg többet.
assert
a Java-ba is C++-ból érkezik. Segítségével további ellenőrzéseket adhat a kódhoz (például annak ellenőrzésére, hogy egy változó nulla-e). Itt az a fontos, hogy ezek az ellenőrzések a fordításkor engedélyezve vagy letiltva legyenek.
A projektet belső tesztelésre is elkészítheti, és ezek az ellenőrzések elvégzésre kerülnek (a build tartalmazza). Vagy kikapcsolhatja őket a fordítás során, hogy létrehozza a program verzióját, amelyet a felhasználók megkapnak.
Ami a strictfp
kulcsszót és az Intel processzorok extra pontosságát illeti, egy teljes történettel állunk az Ön rendelkezésére .
10. Fenntartva, de nem használt
Két lefoglalt, de nem használt kulcsszó is van.
const
goto
Ezek szintén a C++ nyelv örökségei, ahol léteznek és használják.
11. Nem kulcsszavak
Formálisan a true
, false
és null
a konstansok nem kulcsszavak. Ez azt jelenti, hogy mindegyiknek megvan a maga sajátossága. Nem nevezhet el metódusokat true
vagy változókat false
. A fordító nem fogja megérteni az ilyen kódot, és nem fogja lefordítani.