Rozdiel medzi var v Kotlin a Java 10

1. Úvod

V tomto krátkom návode sa dozvieme rozdiely medzi nimi var kľúčové slová v jazykoch Java a Kotlin.

Zakrývame identifikátor var v Jave podrobnejšie v našom článku Java 10 LocalVariable Type-Inference a hovoríme o kľúčovom slove var v Kotline v našom článku Kotlin const, var a val Kľúčové slová.

2. Nepovinné vyhlásenie typu vs. žiadne vyhlásenie typu

2.1. Kotlin

Ak deklarujeme premenlivú premennú a inicializujeme ju súčasne, nemusíme zadávať typ:

var myVariable = 1

Môžeme to však urobiť, ak sa rozhodneme:

var myVariable: Int = 1

Ak chceme deklarovať premennú bez jej priamej inicializácie, musíme určiť jej typ, a hodnotu môžeme priradiť neskôr:

var myVariable: Int myVariable = 1

2.2. Java

V Jave môžeme používať iba var ak inicializujeme premennú na mieste a nemôžeme poskytnúť informácie o type, aj keď chceme:

var myVariable = 1;

Nasledujúce položky sú neplatné:

var myVariable; myVariable = 1;

A dostaneme chybu kompilácie:

Nie je možné odvodiť typ: „var“ na premennej bez inicializátora

3. Kľúčové slovo vs identifikátor

V Kotline var je kľúčové slovo, čo znamená, že ho nemôžeme použiť ako názov premennej, parametra, metódy alebo triedy. Naopak Java 10 definuje var ako identifikátor s osobitným významom.

To znamená, že v Jave 10 môžeme stále definovať premennú, parameter alebo metódu s názvom var:

public void var () {// urobte niečo} metóda public void (int var) {// urobte niečo} metóda public void () {int var = 1; // urob niečo }

Nezabudnite, že od verzie Java 10 už nie je možné definovať triedu s názvom var:

verejná statická trieda var {}

Výsledkom vyššie uvedeného kódu je chyba pri kompilácii:

Chyba: (1, 1) java: 'var' tu nie je povolený od vydania 10, 'var' je obmedzený názov typu a nemožno ho použiť na deklarácie typu

To zaisťuje spätnú kompatibilitu so staršími verziami Java.

4. Premenlivosť

Premenná deklarovaná s var v Kotline je vždy premenlivý, zatiaľ čo premenná je deklarovaná s var v Jave môže byť premenlivé alebo konečné:

var mutableInt = 1; final var immutableInt = 1;

V Kotline nie je č konečné kľúčové slovo - konečné premenné sú deklarované s val namiesto toho:

val immutableInt = 1

5. Globálne vs lokálne použitie

5.1. Kotlin

V Kotline môžeme použiť var deklarovať globálne a lokálne premenné, ako aj členov triedy:

var myGlobalVar = 3 class MyClass {var myVar = 3 public fun myFunction (): Int {var myVariable = 3 return myVariable}}

5.2. Java

V Jave môžeme použiť var iba na deklaráciu lokálnych premenných:

verejná trieda MyClass {// nie je možné pre členské premenné // súkromné ​​var myVar = 1; public int myFunction () {var myVariable = 3; vrátiť myVariable; }}

6. Záver

V tomto článku sme sa pozreli na rozdiel medzi var v Kotline a Jave. Aj keď vyzerajú veľmi podobne, existujú medzi nimi zásadné rozdiely.

Najdôležitejší rozdiel je v tom var v Kotline ide o premenlivosť a var v Jave je o odvodení typu.


$config[zx-auto] not found$config[zx-overlay] not found