podczas wykonywania programów java konieczne jest wyświetlanie słów kluczowych publicznych, prywatnych i chronionych. Modyfikator dostępu ogranicza dostęp klasy, konstruktora, elementu danych i metody w innej klasie. W Javie mamy cztery modyfikatory dostępu:
1. default
2. prywatna
3. protected
4. public
Default access modifier
gdy nie wymieniamy żadnego modyfikatora dostępu, nazywa się on default access modifier., Zakres tego modyfikatora jest ograniczony tylko do pakietu. Oznacza to, że jeśli mamy klasę z domyślnym modyfikatorem dostępu w pakiecie, tylko te klasy, które są w tym pakiecie, mogą uzyskać dostęp do tej klasy. Żadna inna klasa poza tym pakietem nie może uzyskać dostępu do tej klasy. Podobnie, jeśli mamy domyślną metodę lub element danych w klasie, nie będzie on widoczny w klasie innego pakietu. Zobacz przykład, aby to zrozumieć:
domyślny przykład modyfikatora dostępu w języku Java
aby zrozumieć ten przykład, musisz znać pakiety w języku java.,
w tym przykładzie mamy dwie klasy, Klasa Test próbuje uzyskać dostęp do domyślnej metody dodawania klasy, ponieważ class Test należy do innego pakietu, program ten wyrzuci błąd kompilacji, ponieważ zakres domyślnego modyfikatora jest ograniczony do tego samego pakietu, w którym jest zadeklarowany.
dodanie.java
Test.java
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method addTwoNumbers(int, int) from the type Addition is not visibleat xyzpackage.Test.main(Test.java:12)
modyfikator dostępu prywatnego
zakres modyfikatora dostępu prywatnego jest ograniczony tylko do klasy.,
- prywatne elementy danych i metody są dostępne tylko w obrębie klasy
- Klasa I interfejs nie może być zadeklarowany jako prywatny
- jeśli klasa ma prywatny konstruktor, to nie można utworzyć obiektu tej klasy spoza klasy.
zobaczmy przykład, aby to zrozumieć:
prywatny przykład modyfikatora dostępu w Javie
Ten przykład powoduje błąd kompilacji, ponieważ próbujemy uzyskać dostęp do prywatnego elementu danych i metody klasy ABC w przykładzie klasy. Prywatny element danych i Metoda są dostępne tylko w ramach klasy.,
Output:
Compile - time error
modyfikator Protected Access
Protected data member I Metoda są dostępne tylko dla klas tego samego pakietu i podklas obecnych w dowolnym pakiecie. Można również powiedzieć, że modyfikator dostępu chronionego jest podobny do domyślnego modyfikatora dostępu, z jednym wyjątkiem, że ma widoczność w podklasach.
klasy nie mogą być deklarowane jako chronione. Ten modyfikator dostępu jest zwykle używany w relacji rodzic-dziecko.,
przykład modyfikatora dostępu chronionego w Javie
w tym przykładzie Klasa Test, która jest obecna w innym pakiecie, może wywołać metodęaddTwoNumbers()
, która jest zadeklarowana jako chroniona. Dzieje się tak dlatego, że Klasa testowa rozszerza dodawanie klasy, A modyfikator protected pozwala na dostęp chronionych członków w podklasach (w dowolnych pakietach).
dodanie.java
package abcpackage;public class Addition { protected int addTwoNumbers(int a, int b){return a+b; }}
Test.java
Output:
33
modyfikator publicznego dostępu
członkowie, metody i klasy, które są zadeklarowane jako publiczne, mogą być dostępne z dowolnego miejsca., Ten modyfikator nie ogranicza dostępu.
publiczny przykład modyfikatora dostępu w Javie
weźmy ten sam przykład, który widzieliśmy powyżej, ale tym razem metoda addTwoNumbers() ma publiczny modyfikator i class Test jest w stanie uzyskać dostęp do tej metody bez rozszerzania klasy dodawania. Dzieje się tak, ponieważ public modifier ma widoczność wszędzie.
dodanie.java
package abcpackage;public class Addition { public int addTwoNumbers(int a, int b){return a+b; }}
Test.,java
Output:
101
pozwala zobaczyć zakres tych modyfikatorów dostępu w formie tabelarycznej:
Dodaj komentarz