logo

Modifikátory přístupu v Javě

v Javě pomáhají modifikátory Access omezit rozsah třídy, konstruktoru, proměnné, metody nebo datového člena. Poskytuje uživateli zabezpečení, přístupnost atd. v závislosti na modifikátoru přístupu použitém s prvkem. V tomto článku se dozvíme o Java Access Modifiers, jejich typech a použití modifikátorů přístupu.

Typy modifikátorů přístupu v Javě

V Javě jsou k dispozici čtyři typy modifikátorů přístupu:

  1. Výchozí – Není vyžadováno žádné klíčové slovo
  2. Soukromé
  3. Chráněný
  4. Veřejnost

1. Výchozí modifikátor přístupu

Pokud pro třídu, metodu nebo datový člen není zadán žádný modifikátor přístupu – říká se, že má výchozí modifikátor přístupu ve výchozím nastavení. Datové členy, třídy nebo metody, které nejsou deklarovány pomocí žádných modifikátorů přístupu, tj. mají výchozí modifikátory přístupu, jsou přístupné pouze ve stejném balení .



V tomto příkladu vytvoříme dva balíčky a třídy v balíčcích budou mít výchozí modifikátory přístupu a pokusíme se přistupovat ke třídě z jednoho balíčku z třídy druhého balíčku.

Program 1:

Jáva
// 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:

binární typy stromů
Jáva
// 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ýstup:

Compile time error>

2. Modifikátor soukromého přístupu

Modifikátor soukromého přístupu se zadává pomocí klíčového slova soukromé . Metody nebo datové členy deklarované jako soukromé jsou přístupné pouze v rámci třídy ve kterém jsou deklarovány.

  • Jakýkoliv jiný třída a stejný balíček nebude mít přístup tito členové.
  • Třídy nebo rozhraní nejvyšší úrovně nelze deklarovat jako soukromé, protože
    • private znamená viditelné pouze v rámci obklopující třídy.
    • chráněné znamená viditelné pouze v rámci ohraničující třídy a jakýchkoli podtříd

Proto se tyto modifikátory, pokud jde o aplikaci na třídy, vztahují pouze na vnořené třídy a nikoli na třídy nejvyšší úrovně

V tomto příkladu vytvoříme dvě třídy A a B ve stejném balíčku p1. Prohlásíme metodu ve třídě A jako soukromou a pokusíme se k této metodě přistupovat ze třídy B a uvidíme výsledek.

jak vrátit pole java
Jáva
// 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ýstup:

error: display() has private access in A  obj.display();>

3. Modifikátor chráněného přístupu

Modifikátor chráněného přístupu se zadává pomocí klíčového slova chráněný .

Metody nebo datové členy deklarované jako chráněné jsou přístupné v rámci stejného balíčku nebo podtříd v různých balíčcích.

V tomto příkladu vytvoříme dva balíčky p1 a p2. Třída A v p1 je zveřejněna, abyste k ní měli přístup v p2. Zobrazení metody ve třídě A je chráněno a třída B je zděděna z třídy A a tato chráněná metoda je pak přístupná vytvořením objektu třídy B.

Program 1:

Jáva
// Java Program to Illustrate // Protected Modifier package p1; // Class A public class A {  protected void display()  {  System.out.println('techcodeview.com');  } }>


Program 2:

Jáva
// 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ýstup:

techcodeview.com>

Modifikátor veřejného přístupu

Modifikátor veřejného přístupu se zadává pomocí klíčového slova veřejnost .

  • Modifikátor veřejného přístupu má nejširší záběr mezi všemi ostatními modifikátory přístupu.
  • Třídy, metody nebo datové členy, které jsou deklarovány jako veřejné, jsou přístupná odkudkoliv v programu. Neexistuje žádné omezení rozsahu členů veřejných údajů.

Program 1:

Jáva
// Java program to illustrate  // public modifier  package p1;  public class A  {  public void display()   {   System.out.println('techcodeview.com');   }  }>

Program 2:

Jáva
package p2; import p1.*; class B {  public static void main(String args[])  {  A obj = new A();  obj.display();  } }>

Výstup:

techcodeview.com>

Důležité body:

  • Pokud vaši třídu používají jiní programátoři, zkuste použít nejpřísnější úroveň přístupu, která má pro konkrétního člena smysl. Pokud nemáte dobrý důvod, používejte soukromé.
  • Vyhněte se veřejným polím s výjimkou konstant.

Algoritmus pro použití modifikátoru přístupu v Javě

Zde je základní algoritmus pro použití modifikátorů přístupu v Javě:

  • Definujte třídu: Vytvořte třídu, která představuje objekt, který chcete spravovat.
  • Definujte proměnné instance: V rámci třídy definujte proměnné instance, které představují data, která chcete spravovat.
  • Zadejte modifikátor přístupu: Pro každou proměnnou instance zadejte modifikátor přístupu, který určuje viditelnost proměnné. Tři hlavní modifikátory přístupu v Javě jsou private, protected a public.
  • Použijte private pro proměnné, které by měly být přístupné pouze v rámci třídy: Pokud chcete zabránit přístupu k proměnné z vnějšku třídy, použijte modifikátor soukromého přístupu. Toto je nejvíce omezující modifikátor přístupu a poskytuje nejvyšší úroveň zapouzdření.
  • Použijte protected pro proměnné, které by měly být přístupné v rámci třídy a jejích podtříd : Pokud chcete povolit přístup k proměnné ze třídy a jejích podtříd, použijte modifikátor chráněného přístupu. To je méně omezující než soukromé a poskytuje určitou úroveň dědičnosti.
  • Pro proměnné, které by měly být dostupné odkudkoli, použijte public : Pokud chcete povolit přístup k proměnné odkudkoli, použijte modifikátor public access. Toto je nejméně omezující modifikátor přístupu a poskytuje nejmenší množství zapouzdření.
  • Ke správě přístupu k proměnným použijte metody přístupového objektu a mutátoru: Chcete-li přistupovat k proměnným a upravovat je, použijte metody accessor (getter) a mutator (setter), i když proměnné mají modifikátor veřejného přístupu. To poskytuje úroveň abstrakce a váš kód je lépe udržovatelný a testovatelný.

Nejčastější dotazy v Modifikátorech přístupu

1. Co jsou modifikátory přístupu v Javě?

Modifikátory přístupu v Javě jsou klíčová slova, která se používají pro řízení použití metod, konstruktorů, polí a metod ve třídě.

budkový algoritmus

2. Co je v Javě neplatné?

Void v Javě se používá k určení žádné návratové hodnoty s metodou.

3. Co je 12 modifikátorů v Javě?

12 Modifikátory v Javě jsou veřejné, soukromé, chráněné, výchozí, konečné, synchronizované, abstraktní, nativní, strictfp, přechodné a nestálé.