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 privatetembung kunci sadurunge deklarasi metode, metode kasebut mung bisa diarani saka kelas sing padha sing diumumake. Tembung publickunci 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. publicmodifier

Cara (utawa variabel, utawa kelas) sing ditandhani karo publicmodifier bisa diakses saka ngendi wae ing program . Iki minangka tingkat keterbukaan sing paling dhuwur - ora ana watesan.

2. privatemodifikasi

Cara (utawa variabel, utawa kelas) sing ditandhani karo privatemodifier 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. protectedmodifikasi

Yen metode ditandhani karo protectedmodifier, 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 publicing 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."

statictembung 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 Solutionsadurunge 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 mainstatis.

"Kok ngono?"

"Sampeyan bakal njawab pitakonan iki dhewe nalika sampeyan miwiti sinau OOP lan ngerti cara kerjane metode statis. Nganti saiki, percaya wae.

throwstembung kunci

"Ana tembung kunci liyane sing mbokmenawa wis katon ing deklarasi metode - tembung throwskunci. Ora kaya modifier akses lan statictembung 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 throwstembung 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
Format umum saka deklarasi metode

Where access modifiersdiganti dening public, protected, private, utawa boten ing kabeh;

yen cara statis, banjur statictembung kunci katon (ora ana kanggo metode non-statis)

Typeyaiku jinis nilai bali ( voidyen ora ana asil)

"Saiki sampeyan duwe pangerten sing luwih apik babagan apa tegese kabeh tembung kasebut ing deklarasi mainmetode kasebut:

public static void main(String[] args) throws Exception
Medharake mainmetode

"Inggih, saiki aku nyadari yen akses menyang main()metode kasebut bisa ditindakake saka kelas apa wae, kaya sing dituduhake publictembung 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 maincara kasebut njupuk argumentasi (!). Dheweke diterusake minangka senar."

"Iku bener. Lan jeneng parameter argstabet 'argumen' kanggo pikiran kita. Nalika program diwiwiti, sampeyan bisa pass bantahan - Uploaded strings. Padha bakal sing ing Uploaded argsing 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 Exceptionbagean 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."