Java programmā Access modifikatori palīdz ierobežot klases, konstruktora, mainīgā, metodes vai datu dalībnieka darbības jomu. Tas nodrošina lietotājam drošību, pieejamību utt. atkarībā no elementā izmantotā piekļuves modifikatora. Šajā rakstā uzzināsim par Java piekļuves pārveidotājiem, to veidiem un piekļuves modifikatoru lietojumiem.
Piekļuves modifikatoru veidi Java
Java ir pieejami četru veidu piekļuves modifikatori:
- Noklusējums — nav nepieciešams atslēgvārds
- Privāts
- Aizsargāts
- Publisks
1. Noklusējuma piekļuves pārveidotājs
Ja klasei, metodei vai datu dalībniekam nav norādīts piekļuves modifikators – tiek uzskatīts, ka tam ir noklusējuma piekļuves modifikators pēc noklusējuma. Datu dalībnieki, klases vai metodes, kas nav deklarētas, izmantojot piekļuves modifikatorus, t.i., kuriem ir noklusējuma piekļuves modifikatori, ir pieejami. tikai tajā pašā iepakojumā .
Šajā piemērā mēs izveidosim divas pakotnes, un pakotņu klasēm būs noklusējuma piekļuves modifikatori, un mēs mēģināsim piekļūt klasei no vienas pakotnes no otrās pakotnes klases.
1. programma:
Java
// Java program to illustrate default modifier package p1; // Class Geek is having Default access modifier class Geek { void display() { System.out.println('Hello World!'); } }>
2. programma:
linux failiJava
// Java program to illustrate error while // using class from different package with // default modifier package p2; import p1.*; // This class is having default access modifier class GeekNew { public static void main(String args[]) { // Accessing class Geek from package p1 Geek obj = new Geek(); obj.display(); } }>
Izvade:
Compile time error>
2. Privātās piekļuves pārveidotājs
Privātās piekļuves pārveidotājs tiek norādīts, izmantojot atslēgvārdu Privāts . Metodes vai datu dalībnieki, kas deklarēti kā privāti, ir pieejami tikai klases ietvaros kurā tie ir deklarēti.
- Jebkurš cits klase uz tai pašai pakotnei nevarēs piekļūt šie biedri.
- Augstākā līmeņa klases vai saskarnes nevar pasludināt par privātām, jo
- privātais nozīmē, ka tas ir redzams tikai norobežojošās klases ietvaros.
- Aizsargāts nozīmē, ka tas ir redzams tikai iekļaujošajā klasē un jebkurā apakšklasē
Tādējādi šie modifikatori attiecībā uz pielietojumu klasēm attiecas tikai uz ligzdotām klasēm, nevis uz augstākā līmeņa klasēm
Šajā piemērā mēs izveidosim divas klases A un B vienā pakotnē p1. Mēs pasludināsim A klases metodi kā privātu un mēģināsim piekļūt šai metodei no B klases un redzēsim rezultātu.
Linux $homeJava
// Java program to illustrate error while // Using class from different package with // Private Modifier package p1; // Class A class A { private void display() { System.out.println('techcodeview.com'); } } // Class B class B { public static void main(String args[]) { A obj = new A(); // Trying to access private method // of another class obj.display(); } }>
Izvade:
error: display() has private access in A obj.display();>
3. Aizsargātās piekļuves pārveidotājs
Aizsargātās piekļuves modifikators tiek norādīts, izmantojot atslēgvārdu aizsargāts .
Metodes vai datu dalībnieki, kas deklarēti kā aizsargāti, ir pieejams vienā un tajā pašā pakotnē vai apakšklasēs dažādās pakotnēs.
Šajā piemērā mēs izveidosim divas pakotnes p1 un p2. A klase p1 ir publiskota, lai tai piekļūtu p2. Metodes displejs A klasē ir aizsargāts, un B klase tiek mantota no A klases, un pēc tam šai aizsargātajai metodei var piekļūt, izveidojot B klases objektu.
1. programma:
Java // Java Program to Illustrate // Protected Modifier package p1; // Class A public class A { protected void display() { System.out.println('techcodeview.com'); } }>
2. programma:
// Java program to illustrate // protected modifier package p2; // importing all classes in package p1 import p1.*; // Class B is subclass of A class B extends A { public static void main(String args[]) { B obj = new B(); obj.display(); } }>
Izvade:
techcodeview.com>
Publiskās piekļuves modifikators
Publiskās piekļuves modifikators tiek norādīts, izmantojot atslēgvārdu publiski .
- Publiskās piekļuves modifikatoram ir visplašākā darbības joma starp visiem citiem piekļuves modifikatoriem.
- Klases, metodes vai datu dalībnieki, kas ir deklarēti kā publiski pieejams no jebkuras vietas programmā. Publisko datu dalībnieku lokam nav ierobežojumu.
1. programma:
Java // Java program to illustrate // public modifier package p1; public class A { public void display() { System.out.println('techcodeview.com'); } }>
2. programma:
Java package p2; import p1.*; class B { public static void main(String args[]) { A obj = new A(); obj.display(); } }>
Izvade:
techcodeview.com>
Svarīgi punkti:
gulēt javascript
- Ja citi programmētāji izmanto jūsu klasi, mēģiniet izmantot visierobežojošāko piekļuves līmeni, kas ir saprātīgs konkrētam dalībniekam. Izmantojiet privātu, ja vien jums nav pamatota iemesla to nedarīt.
- Izvairieties no publiskiem laukiem, izņemot konstantes.
Algoritms piekļuves modifikatora izmantošanai Java
Šeit ir pamata algoritms piekļuves modifikatoru izmantošanai Java:
- Definējiet klasi: Izveidojiet klasi, kas pārstāv objektu, kuru vēlaties pārvaldīt.
- Definējiet gadījumu mainīgos: Klasē definējiet gadījumu mainīgos, kas attēlo datus, kurus vēlaties pārvaldīt.
- Norādiet piekļuves modifikatoru: katram gadījuma mainīgajam norādiet piekļuves modifikatoru, kas nosaka mainīgā redzamību. Trīs galvenie Java piekļuves modifikatori ir privāti, aizsargāti un publiski.
- Izmantojiet privāto mainīgajiem, kuriem jābūt pieejamiem tikai klasē: Ja vēlaties liegt piekļuvi mainīgajam ārpus klases, izmantojiet privātās piekļuves modifikatoru. Šis ir ierobežojošākais piekļuves modifikators un nodrošina visaugstāko iekapsulēšanas līmeni.
- Izmantojiet aizsargātu mainīgajiem lielumiem, kuriem jābūt pieejamiem klasē un tās apakšklasēs : Ja vēlaties atļaut piekļuvi mainīgajam no klases un tās apakšklasēm, izmantojiet aizsargāto piekļuves modifikatoru. Tas ir mazāk ierobežojošs nekā privāts un nodrošina zināmu mantojuma līmeni.
- Izmantojiet publisku mainīgajiem, kuriem jābūt pieejamiem no jebkuras vietas : Ja vēlaties atļaut piekļuvi mainīgajam no jebkuras vietas, izmantojiet publiskās piekļuves modifikatoru. Šis ir vismazāk ierobežojošais piekļuves modifikators un nodrošina vismazāko iekapsulēšanas apjomu.
- Izmantojiet piekļuves un mutatora metodes, lai pārvaldītu piekļuvi mainīgajiem: Lai piekļūtu mainīgajiem un tos modificētu, izmantojiet piekļuvēja (getter) un mutatora (setter) metodes, pat ja mainīgajiem ir publiskās piekļuves modifikators. Tas nodrošina abstrakcijas līmeni un padara jūsu kodu labāk uzturējamu un pārbaudāmu.
Bieži uzdotie jautājumi sadaļā Access Modifiers
1. Kas ir Java piekļuves modifikatori?
Java piekļuves modifikatori ir atslēgvārdi, kas tiek izmantoti, lai kontrolētu metožu, konstruktoru, lauku un metožu izmantošanu klasē.
2. Kas ir spēkā neesošs Java?
Void Java izmanto, lai ar metodi nenorādītu atgriešanas vērtību.
3. Kādi ir 12 Java modifikatori?
12 Java modifikatori ir publiski, privāti, aizsargāti, noklusējuma, galīgi, sinhronizēti, abstrakti, vietējie, strictfp, pārejoši un nepastāvīgi.