1. I-access ang mga modifier
Bago ang bawat pamamaraan, maaaring tukuyin ng mga programmer ang tinatawag na mga access modifier. Kabilang dito ang mga sumusunod na keyword: public
, protected
, private
.
Hinahayaan ka ng mga modifier ng access na ito na paghigpitan ang access ng ibang mga klase sa isang paraan.
Halimbawa, kung isusulat mo ang private
keyword bago ang isang deklarasyon ng pamamaraan, ang pamamaraan ay maaari lamang tawagin mula sa parehong klase kung saan ito idineklara. Ang public
keyword ay nagbibigay-daan sa pag-access sa minarkahang pamamaraan mula sa anumang paraan ng anumang klase.
Mayroong kabuuang 3 tulad ng mga modifier, ngunit mayroong 4 na uri ng access sa isang paraan. Ito ay dahil ang kawalan ng isang access modifier ay nangangahulugan din ng isang bagay.
Access mula sa... | ||||
---|---|---|---|---|
Mga modifier | Kahit anong klase | Klase ng bata | Ang pakete nito | Ang klase nito |
public |
Oo | Oo | Oo | Oo |
protected |
Hindi | Oo | Oo | Oo |
walang modifier | Hindi | Hindi | Oo | Oo |
private |
Hindi | Hindi | Hindi | Oo |
1. public
modifier
Ang isang paraan (o variable, o klase) na minarkahan ng public
modifier ay maaaring ma-access mula sa kahit saan sa programa . Ito ang pinakamataas na antas ng pagiging bukas — walang mga paghihigpit.
2. private
modifier
Ang isang paraan (o variable, o klase) na minarkahan ng private
modifier ay maa-access lang mula sa parehong klase kung saan ito idineklara . Para sa lahat ng iba pang mga klase, ang minarkahang pamamaraan (o variable) ay hindi nakikita. Parang wala lang. Ito ang pinakamataas na antas ng paghihigpit — ang sarili nitong klase lamang.
3. Walang modifier (default modifier)
Kung ang isang paraan (o variable) ay hindi minarkahan ng anumang modifier, ito ay itinuturing na may 'default na modifier'. Ang mga variable o pamamaraan na may modifier na iyon (ibig sabihin, wala man lang) ay makikita ng lahat ng klase sa package kung saan idineklara ang mga ito . At sa kanila lamang. Ang modifier na ito ay tinatawag ding minsan package-private
, na nagpapahiwatig na ang pag-access sa mga variable at pamamaraan ay bukas sa buong package kung saan matatagpuan ang kanilang klase.
4. protected
modifier
Kung ang isang pamamaraan ay minarkahan ng protected
modifier, maaari itong ma-access mula sa parehong klase, sa parehong pakete, at mga inapo (mga klase na nagmamana ng klase kung saan ipinahayag ang pamamaraan). Susuriin namin ang paksang ito nang mas detalyado sa Java Core quest.
Maaari mong gamitin ang public
modifier sa lahat ng iyong pamamaraan (pati na rin sa lahat ng iyong mga klase at mga variable ng klase) hanggang sa maabot mo ang dulo ng Java Syntax quest. Kakailanganin mo ang iba pang mga modifier kapag nagsimula kaming aktibong matuto ng OOP.
Bakit kailangan ang mga access modifier?
Nagiging kinakailangan ang mga ito para sa malalaking proyekto na isinulat ng sampu at daan-daang programmer sa parehong oras.
Minsan may mga sitwasyon kung kailan gustong hatiin ng programmer ang isang napakalaking paraan sa mga bahagi at ilipat ang bahagi ng code sa mga pamamaraan ng helper. Ngunit sa parehong oras, hindi niya nais na tawagan ng ibang mga programmer ang mga pamamaraang ito ng katulong, dahil maaaring hindi gumana nang tama ang kaukulang code.
Kaya nakaisip sila ng mga access modifier na ito. Kung markahan mo ang isang helper method ng salitang private , walang code maliban sa iyong klase ang makakakita sa iyong helper method.
2. static
keyword
static
Ginagawa ng keyword ang isang paraan na static. Titingnan natin kung ano ang ibig sabihin nito mamaya. Sa ngayon, tandaan lamang ang ilang mga katotohanan tungkol sa mga static na pamamaraan.
Katotohanan 1. Ang isang static na pamamaraan ay hindi nakakabit sa anumang bagay , ngunit sa halip ay kabilang sa klase kung saan ito idineklara. Upang tumawag sa isang static na pamamaraan, kailangan mong isulat:
ClassName.MethodName()
Mga halimbawa ng mga static na pamamaraan:
Pangalan ng klase | Pangalan ng static na pamamaraan | |
---|---|---|
Thread.sleep() |
Thread |
sleep() |
Math.abs() |
Math |
abs() |
Arrays.sort() |
Arrays |
sort() |
Ang pangalan ng klase bago ang pangalan ng isang static na pamamaraan ay maaaring tanggalin kung tatawagin mo ang static na pamamaraan mula sa loob ng klase nito. Ito ang dahilan kung bakit hindi mo kailangang magsulat Solution
bago ang mga pangalan ng bawat isa sa mga static na pamamaraan na tinatawag.
Katotohanan 2. Hindi ma-access ng isang static na pamamaraan ang mga non-static na pamamaraan ng sarili nitong klase. Ang isang static na pamamaraan ay maaari lamang ma-access ang mga static na pamamaraan. Bilang resulta, ipinapahayag namin ang lahat ng mga pamamaraan na gusto naming tawagan mula sa main
pamamaraang static.
Bakit? Masasagot mo ang tanong na ito sa iyong sarili kapag nagsimula kang matuto ng OOP at maunawaan kung paano gumagana ang mga static na pamamaraan.
3. throws
keyword
May isa pang keyword na malamang na nakita mo sa isang deklarasyon ng pamamaraan — ang throws
keyword. Hindi tulad ng mga modifier ng access at ang static
keyword, inilalagay ang keyword na ito pagkatapos ng mga parameter ng pamamaraan:
public static Type name(parameters) throws Exception
{
method body
}
Isasaalang-alang natin ang tiyak na kahulugan nito sa ibang pagkakataon kapag nag-aaral tayo ng mga eksepsiyon.
Ngunit upang hawakan ito nang mababaw, maaari nating sabihin na ang isang paraan na may marka ng mga throws na keyword ay maaaring maghagis ng mga error (mga pagbubukod), ibig sabihin ay mga instance ng Exception
klase (at mga klase na nagmamana nito). Kung maraming iba't ibang uri ng mga error ang maaaring mangyari sa isang klase, kailangan mong ilista ang bawat isa sa kanila na pinaghihiwalay ng mga kuwit.
4. main
paraan
Ang linya kung saan idineklara ang isang paraan, na naglalaman ng lahat ng mga modifier, ay makakaapekto sa kung paano tinawag ang pamamaraang ito mula sa ibang mga klase at pamamaraan. Naaapektuhan nito ang uri ng resulta na ibabalik ng pamamaraan at ipinapahiwatig kung anong mga error ang posible habang tumatakbo ito.
Ang nasabing linya ay tinatawag na deklarasyon ng pamamaraan at may sumusunod na pangkalahatang format:
access modifier static Type name(parameters) throws exceptions
Saan access modifiers
pinapalitan ng public
, protected
, private
, o wala man lang;
kung static ang paraan, static
lalabas ang keyword (wala ito para sa mga non-static na pamamaraan)
Type
ay ang uri ng return value ( void
kung walang resulta)
Ngayon ay malamang na naiintindihan mo kung ano ang ibig sabihin ng lahat ng mga keyword sa deklarasyon ng main
pamamaraan:
public static void main(String[] args) throws Exception
main
pamamaraan
Ang pag-access sa main()
pamamaraan ay posible mula sa anumang klase, tulad ng ipinahiwatig ng public
keyword.
Ang pamamaraan ay static, kaya maaari itong tawaging tahasan bilang Solution.main()
.
Ang main
pamamaraan ay hindi nagbabalik ng anumang resulta. Ang uri ng pagbabalik ay void
(walang uri).
Ang main
pamamaraan ay tumatagal ng mga argumento(!): isang hanay ng mga string. At ang pangalan ng parameter args
ay nagmumungkahi ng 'mga argumento' sa ating isipan. Kapag nagsimula ang programa, maaari mong ipasa ang mga argumento - isang hanay ng mga string. Mapapaloob ang mga ito sa args
array sa main()
pamamaraan.
Ang mga hindi nahawakang error tulad ng Exception
(o mga inapo nito) ay maaaring mangyari sa main()
pamamaraan.