1. Variabel statis
Nalika kelas dimuat menyang memori obyek statis digawe langsung. Objek iki nyimpen variabel kelas statis (kolom kelas statis). Objek statis ana sanajan ora ana obyek biasa (non-statis) saka kelas sing digawe.
Nalika kita ngumumake variabel ing kelas, kita nuduhake manawa bakal digawe mung sapisan, utawa kudu ana kedadeyan sing beda saka variabel kasebut ing saben obyek. Kanthi gawan, salinan anyar saben variabel digawe kanggo saben obyek.
Variabel statis diikat menyang obyek statis kelas lan mesthi ana siji conto.
Kanggo nggawe variabel statis ing kelas, sampeyan kudu nulis static
tembung kunci sadurunge jenenge. Format umum kanggo nyatakake variabel statis yaiku:
static Type name = value;
Yen variabel statis ora diwenehi nilai dhisikan, diinisialisasi kanthi nilai standar:
Jinis | Nilai standar |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
(sing padha karo
) |
|
|
lan kelas apa wae |
|
Tuladha:
Kode | Cathetan |
---|---|
|
|
|
|
|
|
|
|
|
Ing njero kelas, sampeyan bisa ngrujuk marang variabel statis kanthi nggunakake jenenge. Nanging kanggo ngakses saka kelas liyane, sampeyan kudu nulis jeneng kelas sadurunge jeneng variabel statis.
ClassName.variable
Tuladha:
Variabel | kelas | Ngakses variabel ing njaba kelas |
---|---|---|
|
|
|
|
|
|
|
|
Variabel kasebut yaiku private . Ora katon ing njaba kelas. |
|
|
Variabel kasebut yaiku private . Ora katon ing njaba kelas. |
|
|
Variabel kasebut yaiku private . Ora katon ing njaba kelas. |
2. Bedane antarane variabel statis lan non-statis
Variabel non-statis (biasa) saka kelas diumumake kanthi cara sing padha karo variabel statis, mung tanpa tembung static
kunci.
Apa bedane antarane variabel biasa lan variabel statis?
Variabel biasa saka kelas kaiket menyang obyek saka kelas (kedadean saka kelas), nalika variabel statis kaiket kanggo obyek statis kelas.
Yen ana sawetara kedadean saka kelas, saben wong duwe salinan dhewe saka variabel non-statis (biasa). Variabel statis saka kelas tansah disimpen ing obyek statis lan mung ana siji conto.
Sampeyan bisa ngakses variabel biasa (lapangan) saka kelas mung yen sampeyan duwe referensi kanggo obyek saka kelas. Lan cara nang kelas, mesthi.
Tuladha:
Ngakses lapangan kelas nggunakake referensi obyek |
---|
|
Sampeyan bisa ngakses variabel statis saka ngendi wae (sawise nyathet modifikasi visibilitas): saka cara biasa, saka metode statis saka kelas sing padha, saka metode kelas liyane, lsp.
Tuladha:
Ngakses lapangan statis saka kelas tanpa nggunakake referensi obyek |
---|
|
Carane memori diatur:
Ayo kita duwe Person
kelas karo 4 lapangan: loro statis lan loro ora.
public class Person
{
public static int count = 0;
public static int sum = 0;
public int age = 0;
public String name;
}
Sanalika sawise mbukak kelas
Nalika mesin Java wis rampung mbukak Person
kelas, memori bakal katon kaya iki:
Sawise nggawe obyek pisanan
Yen kita nggawe Person
obyek, gambar kasebut dadi:
Wigati dimangerteni manawa obyek loro kasebut duwe rong variabel, iki variabel sing beda: obyek biasa duwe variabel biasa, lan obyek statis duwe variabel statis.
We kudu liyane obyek
Ayo nggawe rong Person
obyek liyane. Saiki memori bakal katon kaya iki:
Elinga yen saben obyek duwe variabel umur lan jeneng dhewe.
3. Mbusak lan nambah static
modifier
Saka statis nganti biasa
Apa sing kedadeyan yen kita njupuk variabel statis lan ngowahi dadi biasa kanthi ngilangi static
modifier? Contone, static int sum
variabel.
Kode sing diowahi bakal katon kaya iki:
public class Person
{
public static int count = 0;
public int sum = 0;
public int age = 0;
public String name;
}
Saiki memori katon kaya iki:
Variabel statis ilang saka obyek statis, lan saiki saben obyek biasa duwe sum
variabel dhewe.
Saka biasa kanggo statis
Kita bisa nindakake ngelawan: nambah static
modifier kanggo variabel biasa saka kelas. Bakal ilang saka kabeh obyek biasa lan bakal katon ing obyek statis. Upaminipun kita arep nggawe age
lan name
variabel statis. Banjur kode bakal katon kaya iki:
public class Person
{
public static int count = 0;
public int sum = 0;
public static int age = 0;
public static String name;
}
Lan saiki memori bakal katon kaya iki:

GO TO FULL VERSION