1. Metode statis
Saliyane variabel statis, kelas uga bisa duwe metode statis.
Cara reguler diikat menyang obyek (instance) saka kelas lan bisa ngrujuk marang variabel biasa (non-statis) saka kelas kasebut (uga variabel statis lan metode ). Cara statis diikat menyang obyek statis kelas lan mung bisa ngakses variabel statis lan / utawa cara statis liyane saka kelas kasebut.
Kanggo nelpon cara biasa (non-statis) ing kelas, sampeyan kudu nggawe obyek saka kelas lan banjur nelpon cara ing obyek. Sampeyan ora bisa nelpon cara biasa ing kelas tinimbang obyek.
Tuladha:
Sampeyan ora bisa nelpon cara non-statis ing kelas! |
---|
|
Nanging kanggo nelpon cara statis, cukup kanggo obyek statis kelas mung ana (lan tansah ana sawise kelas dimuat menyang memori). Iki kok cara utama () statis. Iku bound kanggo obyek statis kelas kang, supaya sampeyan ora perlu kanggo nggawe obyek sembarang kanggo nelpon.
Kanggo ngumumake metode statis, sampeyan kudu nulis tembung kunci statis sadurunge header metode. Tampilan umum saka konstruksi iki kaya ing ngisor iki:
static Type name(parameters)
{
method code
}
Tuladha:
Kode | Cathetan |
---|---|
|
Mesin Java nyebut main cara kasebut kanthi prentah kaya mangkene: Solution.main() ; Metode statis test() diarani main() metode statis. |
Kanggo nelpon cara statis saka kelas liyane, sampeyan kudu nemtokake jeneng kelas sadurunge jeneng cara statis. Tampilan umum saka konstruksi iki kaya ing ngisor iki:
Type name = ClassName.methodName(arguments)
Tuladha:
Kode | Metode statis |
---|---|
|
|
|
|
|
|
2. Metode statis vs biasa (non-statis).
Apa bedane metode statis lan cara biasa?
Cara biasa diikat menyang obyek biasa (kayata kelas), dene cara statis ora. Cara biasa bisa ngakses variabel ing contone, nanging cara statis ora bisa: mung ora duwe conto sing gegandhengan.
Bedane antarane rong jinis metode kasebut dituduhake ing tabel ing ngisor iki:
Kapabilitas / properti | Cara biasa | Metode statis |
---|---|---|
Diikat karo conto kelas | ya wis | Ora |
Bisa nelpon cara biasa saka kelas | ya wis | Ora |
Bisa nelpon metode statis saka kelas | ya wis | ya wis |
Bisa ngakses variabel biasa saka kelas | ya wis | Ora |
Bisa ngakses variabel statis saka kelas | ya wis | ya wis |
Bisa diarani obyek | ya wis | ya wis |
Bisa diarani ing kelas | Ora | ya wis |
Apa sebabe cara-cara kasebut dibutuhake yen winates banget? Jawaban iki yaiku pendekatan iki uga nduweni kaluwihan.
Pisanan, sampeyan ora perlu ngliwati referensi obyek kanggo ngakses metode statis lan variabel.
Kapindho, kadhangkala sampeyan kudu ana mung siji conto variabel. Contone, System.out
( variabel metu statis kelas Sistem ).
Lan, kaping telu, kadhangkala sampeyan kudu nelpon cara sadurunge bisa nggawe obyek. Contone, mesin Java nelpon cara utama () kanggo miwiti eksekusi program malah sadurunge Kayata saka kelas digawe.
Diikat karo conto kelas
Nalika cara biasa diarani, argumen - obyek sing diarani metode kasebut - sacara implisit diterusake. Parameter iki diarani this
. Parameter implisit iki (referensi kanggo obyek sing diarani metode kasebut) mbedakake cara biasa saka cara statis.
Cara statis ora duwe parameter implisit iki, supaya sampeyan ora bisa nggunakake tembung this
kunci ing cara statis, lan sampeyan ora bisa nelpon cara non-statis ing cara statis. Ora ana ngendi wae kanggo njaluk referensi kanggo conto kelas.
Bisa nelpon cara biasa saka kelas
Cara biasa tansah nduweni this
parameter implisit, dadi sampeyan tansah duwe referensi kanggo obyek sing diarani metode kasebut. Saben sampeyan nelpon cara biasa ing cara biasa liyane, this
parameter implisit digunakake kanggo nelpon kasebut. Tuladha
Kode | Cara kerjane |
---|---|
|
|
Mulane sampeyan ora bisa nelpon cara biasa saka cara statis. Ora ana variabel implisit sing dijenengi this
ing metode statis.
Utawa mbayangno kahanan liyane: ora ana obyek siji saka kelas kita sing durung digawe ing program kita. Apa kita bisa nelpon metode statis kelas kita? ya wis. Lan cara statis iki bisa nelpon cara biasa (non-statis)?
Nah, obyek apa sing bakal kita sebut? Sawise kabeh, ora ana conto siji saka kelas kita!
Bisa nelpon metode statis saka kelas
Cara statis bisa diarani saka ngendi wae - saka ngendi wae ing program kasebut. Iki tegese padha bisa disebut saka loro cara statis lan biasa. Ora ana watesan ing kene.
Bisa ngakses variabel biasa saka kelas
Sampeyan bisa ngakses variabel biasa kelas saka cara biasa, amarga bisa gampang diwenehi referensi kanggo conto kelas liwat this
parameter implisit.
Cara statis ora ngerti conto kelas sing kudu digunakake kanggo entuk nilai variabel biasa. Lan luwih umum, kita bisa kanthi gampang duwe kahanan sing diarani metode statis nanging ora ana siji wae kelas sing digawe ing program kasebut.
Akibaté, cara statis ora bisa ngakses variabel biasa saka kelas.
Upaminipun cara statis nelpon cara biasa. Apa obyek sing kudu diarani cara biasa kasebut?

Gak onok seng ngerti! Mulane sampeyan ora bisa nelpon cara biasa saka cara statis tanpa ngirim referensi menyang obyek!
Bisa ngakses variabel statis saka kelas
Kahanan karo panggilan menyang variabel statis padha karo telpon menyang metode statis. Variabel statis bisa diakses saka ngendi wae ing program. Tegese sampeyan bisa ngakses saka cara statis lan biasa.
Bisa diarani obyek
Cara statis lan biasa bisa diarani obyek. Panggil cara biasa bisa - pancen, iku mung cara kanggo nelpon cara biasa. Cara statis uga bisa diarani obyek: ing kasus iki, kompiler dhewe nemtokake jinis variabel lan nelpon metode statis adhedhasar jinise:
Kode | Carane compiler ndeleng iku |
---|---|
|
|
|
|
|
|
Bisa diarani ing kelas
Sampeyan bisa nelpon mung cara statis ing kelas. Kanggo nelpon cara biasa, sampeyan butuh referensi kanggo conto kelas. Mulane, sampeyan ora bisa nelpon cara biasa nggunakake konstruksi iki:ClassName.methodName(arguments)
GO TO FULL VERSION