A snippet kuliah karo mentor minangka bagéan saka kursus Universitas Codegym. Ndaftar kanggo kursus lengkap.
"Salam, Amigo! Krungu sampeyan wis ngerti cara sing apik?"
"Hai, Rishi. Ya, aku wis ngilangi dalane guru kasebut. Aku bakal ngomong yen ora elek, nanging sampeyan bakal ngomong, 'Ora, ora! Sampeyan ora ngerti apa-apa. '"
"Sampeyan jelas wis mbuwang akeh wektu ngobrol karo guru tartamtu, bisa uga karo Diego. Oalah ... Aku isih ngarep-arep sampeyan ngerti metode kanthi cukup. Sawise kabeh, dina iki aku bakal mulang sampeyan sawetara tembung ajaib sing mbantu nggambar metode. ' wilayah pengaruh.
"Swara sing nyenengake."
"Nyatane, kabeh iku prasaja. Sadurunge saben cara, programer bisa nemtokake apa sing disebut modifikasi akses. Iki kalebu tembung kunci ing ngisor iki: public
, protected
, private
.
"Pengubah akses iki ngidini sampeyan mbatesi akses kelas liyane menyang metode.
"Contone, yen sampeyan nulis private
tembung kunci sadurunge deklarasi metode, metode kasebut mung bisa diarani saka kelas sing padha sing diumumake. Tembung public
kunci ngidini akses menyang metode sing ditandhani saka metode apa wae saka kelas apa wae.
Ana total 3 modifiers kuwi, nanging ana 4 jinis akses menyang cara. Iki amarga ora ana modifikasi akses uga tegese. Mangkene tabel lengkap:
Akses saka... | ||||
---|---|---|---|---|
Modifiers | Kelas apa wae | Kelas bocah | Paket nya | Kelase |
public |
ya wis | ya wis | ya wis | ya wis |
protected |
Ora | ya wis | ya wis | ya wis |
ora modifier | Ora | Ora | ya wis | ya wis |
private |
Ora | Ora | Ora | ya wis |
"Lan iki panjelasan lengkap babagan modifikasi akses:
1. public
modifier
Cara (utawa variabel, utawa kelas) sing ditandhani karo public
modifier bisa diakses saka ngendi wae ing program . Iki minangka tingkat keterbukaan sing paling dhuwur - ora ana watesan.
2. private
modifikasi
Cara (utawa variabel, utawa kelas) sing ditandhani karo private
modifier mung bisa diakses saka kelas sing padha sing diumumake . Kanggo kabeh kelas liyane, cara sing ditandhani (utawa variabel) ora katon. Kaya-kaya ora ana. Iki minangka tingkat paling dhuwur saka watesan - mung kelas dhewe.
3. Ora ana modifier (modifikasi standar)
Yen cara (utawa variabel) ora ditandhani karo modifier, iku dianggep duwe 'default modifier'. Variabel utawa cara kanthi modifier kasebut (yaiku ora ana) katon ing kabeh kelas ing paket kasebut . Lan mung kanggo wong-wong mau. Modifier iki uga kadhangkala disebut package-private
, menehi tandha manawa akses menyang variabel lan metode mbukak kanggo kabeh paket sing ana kelas.
4. protected
modifikasi
Yen metode ditandhani karo protected
modifier, banjur bisa diakses saka kelas sing padha, paket sing padha, lan turunan (kelas sing marisi kelas sing metode kasebut diumumake). Kita bakal nganalisa topik iki kanthi luwih rinci babagan pencarian Java Core.
"Menarik, nanging aku ora yakin apa aku bisa langsung nyelehake modifier iki ing kabeh panggonan sing bener.
"Sampeyan bakal teka kanthi bertahap. Ora perlu kuwatir sadurunge. Nganti sampeyan tekan pungkasan pencarian Java Syntax, sampeyan bisa nggunakake modifier public
ing kabeh metode sampeyan (uga kelas lan variabel conto). Sampeyan mbutuhake modifiers liyane nalika kita miwiti aktif sinau OOP."
"Apa sampeyan bisa nerangake kanthi luwih rinci kenapa modifikasi akses dibutuhake?"
"Dheweke dadi perlu kanggo proyek gedhe sing ditulis dening puluhan lan atusan programer ing wektu sing padha.
"Kadhangkala ana kahanan nalika programmer pengin mbagi cara sing gedhe banget dadi bagean lan mindhah bagean kode menyang metode helper. Nanging ing wektu sing padha, dheweke ora pengin programer liyane nelpon metode helper iki, amarga kode sing cocog bisa uga ora bisa digunakake kanthi bener."
"Dadi padha teka karo modifiers akses iki. Yen sampeyan menehi tandha cara helper karo tembung pribadi , banjur ora kode liyane saka kelas sampeyan bisa ndeleng metode helper."
"Aku rumangsa ngerti."
static
tembung kunci
"Ana tembung kunci liyane sing menarik. Iku static
. Ora kaget, nggawe metode statis."
"Apa tegese?"
"Aku bakal ngandhani luwih akeh babagan iki. Aja kuwatir. Saiki, coba elinga sawetara fakta babagan metode statis.
Kasunyatan 1. A cara statis ora ditempelake obyek sembarang, nanging belongs kanggo kelas kang diumumake. Kanggo nelpon cara statis, sampeyan kudu nulis:
ClassName.MethodName()
Tuladha metode statis:
Jeneng kelas | Jeneng metode statis | |
---|---|---|
Thread.sleep() |
Thread |
sleep() |
Math.abs() |
Math |
abs() |
Arrays.sort() |
Arrays |
sort() |
Jeneng kelas sadurunge jeneng metode statis bisa diilangi yen sampeyan nelpon metode statis saka kelas kasebut. Mulane sampeyan ora perlu nulis Solution
sadurunge jeneng saben metode statis sing diarani.
Kasunyatan 2. Cara statis ora bisa ngakses metode non-statis saka kelas dhewe. Cara statis mung bisa ngakses metode statis. Akibaté, kita ngumumake kabeh metode sing pengin kita sebut saka metode main
statis.
"Kok ngono?"
"Sampeyan bakal njawab pitakonan iki dhewe nalika sampeyan miwiti sinau OOP lan ngerti cara kerjane metode statis. Nganti saiki, percaya wae.
throws
tembung kunci
"Ana tembung kunci liyane sing mbokmenawa wis katon ing deklarasi metode - tembung throws
kunci. Ora kaya modifier akses lan static
tembung kunci, tembung kunci iki diselehake sawise paramèter metode:
public static Type name(parameters) throws Exception
{
method body
}
"Lan apa tegese?"
"Sepisan maneh aku kudu ngandhani yen sampeyan bakal sinau tujuan sing sejatine mengko, nalika sinau babagan pengecualian (ing Level 15).
Nanging kanggo ndemek kanthi superficially, kita bisa ngomong yen cara sing ditandhani karo throws
tembung kunci bisa mbuwang kesalahan (pengecualian), tegese conto kelas Exception
(lan kelas sing marisi). Yen macem-macem jinis kesalahan bisa kedadeyan ing kelas, mula sampeyan kudu dhaptar saben kesalahan sing dipisahake koma."
"Swara misterius lan ora bisa dingerteni! Aku kudu ngenteni Level 14."
metode utama
"Ayo saiki nliti cara utama. Sampeyan wis ngerti manawa baris ing ngendi metode diumumake, sing ngemot kabeh modifiers, bakal mengaruhi carane metode iki diarani saka kelas lan metode liyane. Kajaba iku, mengaruhi jinis asil cara bakal bali lan nuduhake kesalahan apa bisa nalika mlaku.
"Baris kasebut diarani deklarasi metode lan nduweni format umum ing ngisor iki:
access modifier static Type name(parameters) throws exceptions
Where access modifiers
diganti dening public
, protected
, private
, utawa boten ing kabeh;
yen cara statis, banjur static
tembung kunci katon (ora ana kanggo metode non-statis)
Type
yaiku jinis nilai bali ( void
yen ora ana asil)
"Saiki sampeyan duwe pangerten sing luwih apik babagan apa tegese kabeh tembung kasebut ing deklarasi main
metode kasebut:
public static void main(String[] args) throws Exception
"Inggih, saiki aku nyadari yen akses menyang main()
metode kasebut bisa ditindakake saka kelas apa wae, kaya sing dituduhake public
tembung kunci. Cara kasebut statis, saengga bisa diarani kanthi tegas minangka Solution.main()
."
"Apa asil main()
cara bali?"
"Ora ana apa-apa! Jinis asile void
. Kaya jinis kosong, placeholder."
"Apa sing main()
ana ing kurung?"
"Hmm... Pranyata main
cara kasebut njupuk argumentasi (!). Dheweke diterusake minangka senar."
"Iku bener. Lan jeneng parameter args
tabet 'argumen' kanggo pikiran kita. Nalika program diwiwiti, sampeyan bisa pass bantahan - Uploaded strings. Padha bakal sing ing Uploaded args
ing main()
cara."
"Wah! Aku kepingin weruh babagan iki nalika aku weruh iku pisanan, nanging banjur aku njaluk digunakake kanggo lan miwiti nulis dhaftar parameter tanpa mikir."
"Kita kabeh wis ana. Pungkasan, kesalahan sing ora ditangani kaya Exception
(utawa turunane) bisa kedadeyan ing main()
metode kasebut. Kita ngerti iki amarga throws Exception
bagean saka deklarasi kasebut."
"Matur nuwun, Rishi. Aku ora ngerti kabeh, nanging iki menarik."
"Sampeyan olèh. Mboko sithik sampeyan bakal ngerti kabeh iki subtle point, Aku yakin."
GO TO FULL VERSION