v Jave modifikátory Access pomáhajú obmedziť rozsah triedy, konštruktora, premennej, metódy alebo údajového člena. Poskytuje používateľovi bezpečnosť, dostupnosť atď. v závislosti od modifikátora prístupu použitého s prvkom. V tomto článku sa dozvieme o Java Access Modifiers, ich typoch a použití modifikátorov prístupu.
Typy modifikátorov prístupu v jazyku Java
V jazyku Java sú k dispozícii štyri typy modifikátorov prístupu:
- Predvolené – Nevyžaduje sa žiadne kľúčové slovo
- Súkromné
- Chránené
- Verejné
1. Predvolený modifikátor prístupu
Keď nie je špecifikovaný žiadny modifikátor prístupu pre triedu, metódu alebo údajový člen – hovorí sa, že má predvolená modifikátor prístupu štandardne. Údajové členy, triedy alebo metódy, ktoré nie sú deklarované pomocou žiadnych modifikátorov prístupu, t. j. majú predvolené modifikátory prístupu, sú prístupné len v rámci toho istého balenia .
V tomto príklade vytvoríme dva balíky a triedy v balíkoch budú mať predvolené modifikátory prístupu a pokúsime sa o prístup k triede z jedného balíka z triedy druhého balíka.
Program 1:
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!'); } }>
Program 2:
java webové službyJava
// 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(); } }> Výkon:
Compile time error>
2. Modifikátor súkromného prístupu
Modifikátor súkromného prístupu sa špecifikuje pomocou kľúčového slova súkromné . Metódy alebo dátové členy deklarované ako súkromné sú prístupné len v rámci triedy v ktorom sú deklarované.
- Akýkoľvek iný trieda a rovnaký balík nebude mať prístup títo členovia.
- Triedy alebo rozhrania najvyššej úrovne nemožno deklarovať ako súkromné, pretože
- súkromné znamená viditeľné iba v rámci obklopujúcej triedy.
- chránené znamená viditeľné iba v rámci obklopujúcej triedy a akýchkoľvek podtried
Preto sa tieto modifikátory, pokiaľ ide o aplikáciu na triedy, vzťahujú iba na vnorené triedy a nie na triedy najvyššej úrovne
V tomto príklade vytvoríme dve triedy A a B v rámci toho istého balíka p1. Metódu v triede A deklarujeme ako súkromnú a pokúsime sa k nej pristupovať z triedy B a uvidíme výsledok.
ako vrátiť pole javaJava
// 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(); } }> Výkon:
error: display() has private access in A obj.display();>
3. Modifikátor chráneného prístupu
Modifikátor chráneného prístupu sa špecifikuje pomocou kľúčového slova chránené .
Metódy alebo dátové členy deklarované ako chránené sú prístupné v rámci rovnakého balíka alebo podtried v rôznych balíkoch.
V tomto príklade vytvoríme dva balíčky p1 a p2. Trieda A v p1 je zverejnená, aby ste k nej mali prístup v p2. Zobrazenie metódy v triede A je chránené a trieda B je dedená z triedy A a k tejto chránenej metóde sa potom pristupuje vytvorením objektu triedy B.
Program 1:
Java // Java Program to Illustrate // Protected Modifier package p1; // Class A public class A { protected void display() { System.out.println('techcodeview.com'); } }>
Program 2:
// 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(); } }> Výkon:
techcodeview.com>
Modifikátor verejného prístupu
Modifikátor verejného prístupu sa špecifikuje pomocou kľúčového slova verejnosti .
- Modifikátor verejného prístupu má najširší záber medzi všetkými ostatnými modifikátormi prístupu.
- Triedy, metódy alebo údajové členy, ktoré sú deklarované ako verejné, sú prístupné odkiaľkoľvek v programe. Neexistuje žiadne obmedzenie rozsahu členov s verejnými údajmi.
Program 1:
Java // Java program to illustrate // public modifier package p1; public class A { public void display() { System.out.println('techcodeview.com'); } }> Program 2:
Java package p2; import p1.*; class B { public static void main(String args[]) { A obj = new A(); obj.display(); } }> Výkon:
techcodeview.com>
Dôležité body:
- Ak vašu triedu používajú iní programátori, skúste použiť najobmedzujúcejšiu úroveň prístupu, ktorá má zmysel pre konkrétneho člena. Ak nemáte dobrý dôvod, použite súkromné.
- Vyhnite sa verejným poliam s výnimkou konštánt.
Algoritmus na použitie modifikátora prístupu v jazyku Java
Tu je základný algoritmus na používanie modifikátorov prístupu v jazyku Java:
- Definujte triedu: Vytvorte triedu, ktorá predstavuje objekt, ktorý chcete spravovať.
- Definujte premenné inštancie: V rámci triedy definujte premenné inštancie, ktoré predstavujú údaje, ktoré chcete spravovať.
- Zadajte modifikátor prístupu: Pre každú premennú inštancie zadajte modifikátor prístupu, ktorý určuje viditeľnosť premennej. Tri hlavné modifikátory prístupu v jazyku Java sú súkromné, chránené a verejné.
- Pre premenné, ktoré by mali byť dostupné iba v rámci triedy, použite súkromné: Ak chcete zabrániť prístupu k premennej mimo triedy, použite modifikátor súkromného prístupu. Toto je najviac reštriktívny modifikátor prístupu a poskytuje najvyššiu úroveň zapuzdrenia.
- Použite chránené pre premenné, ktoré by mali byť dostupné v rámci triedy a jej podtried : Ak chcete povoliť prístup k premennej z triedy a jej podtried, použite modifikátor chráneného prístupu. Toto je menej obmedzujúce ako súkromné a poskytuje určitú úroveň dedičstva.
- Verejné použite pre premenné, ktoré by mali byť dostupné odkiaľkoľvek : Ak chcete povoliť prístup k premennej odkiaľkoľvek, použite modifikátor verejného prístupu. Toto je najmenej obmedzujúci modifikátor prístupu a poskytuje najmenšie množstvo zapuzdrenia.
- Na správu prístupu k premenným použite metódy prístupového objektu a mutátora: Ak chcete pristupovať k premenným a upravovať ich, použite metódy accessor (getter) a mutator (setter), aj keď premenné majú modifikátor verejného prístupu. To poskytuje úroveň abstrakcie a robí váš kód lepšie udržiavateľným a testovateľným.
Časté otázky v modifikátoroch prístupu
1. Čo sú modifikátory prístupu v jazyku Java?
Modifikátory prístupu v jazyku Java sú kľúčové slová, ktoré sa používajú na riadenie používania metód, konštruktorov, polí a metód v triede.
inurl:.git/head
2. Čo je v Jave neplatné?
Void v jazyku Java sa používa na určenie žiadnej návratovej hodnoty s metódou.
3. Čo je 12 modifikátorov v Jave?
12 Modifikátory v jazyku Java sú verejné, súkromné, chránené, predvolené, konečné, synchronizované, abstraktné, natívne, strictfp, prechodné a nestále.