reklamy

Java udostępnia wiele modyfikatorów dostępu do ustawiania poziomów dostępu dla klas, zmiennych, metody i konstruktory. Cztery poziomy dostępu To –

  • widoczne dla pakietu, domyślnie. Nie są potrzebne modyfikatory.
  • widoczne tylko dla klasy (prywatne).
  • widoczny dla świata (publiczny).
  • widoczne dla pakietu i wszystkich podklas (chronionych).,

domyślny modyfikator dostępu – brak słowa kluczowego

domyślny modyfikator dostępu oznacza, że nie deklarujemy jawnie modyfikatora dostępu dla klasy, pola, metody itp.

zmienna lub metoda zadeklarowana bez modyfikatora kontroli dostępu jest dostępna dla innej klasy w tym samym pakiecie. Pola w interfejsie są domyślnie public static final, a metody w interfejsie są domyślnie public.,

przykład

zmienne i metody mogą być deklarowane bez modyfikatorów, tak jak w poniższych przykładach −

String version = "1.5.1";boolean processOrder() { return true;}

modyfikator dostępu prywatnego – prywatne

metody, zmienne i konstruktory, które są deklarowane jako prywatne, mogą być dostępne tylko w obrębie zadeklarowanej klasy.

modyfikator dostępu prywatnego jest najbardziej restrykcyjnym poziomem dostępu. Klasa i interfejsy nie mogą być prywatne.

zmienne, które są zadeklarowane jako prywatne, mogą być dostępne poza klasą, jeśli publiczne metody getter są obecne w klasie.,

używanie modyfikatora prywatnego jest głównym sposobem, w jaki obiekt zamyka się i ukrywa dane ze świata zewnętrznego.

przykład

następująca Klasa używa prywatnej kontroli dostępu −

tutaj zmienna formatująca klasy Logger jest prywatna, więc nie ma możliwości, aby inne klasy bezpośrednio pobierały lub ustawiały jej wartość.

Tak więc, aby ta zmienna była dostępna dla świata zewnętrznego, zdefiniowaliśmy dwie publiczne metody: getFormat (), która zwraca wartość format, oraz setFormat (String), która ustawia jej wartość.,

Public Access Modifier – Public

a class, method, constructor, interface, etc. zadeklarowana publiczna może być dostępna z dowolnej innej klasy. Dlatego też pola, metody, bloki zadeklarowane wewnątrz klasy publicznej mogą być dostępne z dowolnej klasy należącej do uniwersum Java.

Jeśli jednak Klasa Publiczna, do której chcemy uzyskać dostęp, znajduje się w innym pakiecie, to klasa publiczna nadal musi zostać zaimportowana. Ze względu na dziedziczenie klas, wszystkie publiczne metody i zmienne klasy są dziedziczone przez jej podklasy.,

przykład

następująca funkcja używa publicznej kontroli dostępu −

public static void main(String arguments) { // ...}

metoda main() aplikacji musi być Publiczna. W przeciwnym razie nie może być wywołana przez interpreter Javy (taki jak java) do uruchomienia klasy.

modyfikator dostępu chronionego – chronione

zmienne, metody i konstruktory, które są zadeklarowane jako chronione w klasie nadrzędnej, mogą być dostępne tylko przez podklasy w innym pakiecie lub dowolnej klasie w pakiecie klasy protected members.

modyfikator protected access nie może być zastosowany do klas i interfejsów., Metody, pola mogą być zadeklarowane jako chronione, jednak metody i pola w interfejsie nie mogą być zadeklarowane jako chronione.

Protected access daje podklasie szansę użycia metody pomocniczej lub zmiennej, jednocześnie uniemożliwiając niezwiązanym klasom użycie jej.

przykład

następująca Klasa rodzica używa protected access control, aby zezwolić na nadpisanie metody openSpeaker() przez jej klasę potomną −

class AudioPlayer { protected boolean openSpeaker(Speaker sp) { // implementation details }}class StreamingAudioPlayer extends AudioPlayer { boolean openSpeaker(Speaker sp) { // implementation details }}

jeśli zdefiniujemy metodę openSpeaker() jako prywatną, wtedy nie będzie ona dostępna z żadnej innej klasy niż AudioPlayer., Jeśli zdefiniujemy ją jako publiczną, wtedy stanie się ona dostępna dla całego świata zewnętrznego. Ale naszym zamiarem jest udostępnienie tej metody tylko jej podklasie, dlatego użyliśmy protected modifier.

Kontrola dostępu i dziedziczenie

następujące reguły dla metod dziedziczonych są egzekwowane −

  • metody zadeklarowane jako publiczne w superklasie muszą być również publiczne we wszystkich podklasach.

  • metody zadeklarowane jako chronione w superklasie muszą być chronione lub publiczne w podklasach; nie mogą być prywatne.,

    wyznawali metody prywatne nie są dziedziczone, więc nie ma żadnych zasad dla nich.

    htm

Reklama