Jakie są modyfikatory dostępu w Javie

Jakie są modyfikatory dostępu w Javie

Modyfikator dostępu jest specjalnym rodzajem deklaracji zmiennej, która kontroluje sposób i gdzie inny kod może używać deklarowanej klasy, zmiennej lub metody. Ten blog wyjaśni, jakie są modyfikatory dostępu i trzy różne poziomy widoczności dla klas, metod i zmiennych z niektórymi praktycznymi przykładami.

Zrozumienie zakresu kodu jest niezbędne do pisania czytelnych i możliwych do utrzymania programów. Modyfikatory dostępu to jeden ze sposobów osiągnięcia tego celu. Mówią innym użytkownikom twojego kodu, jak chcesz, aby wchodzili w interakcje z określonymi metodami lub zmiennymi. Jeśli jesteś nowy w programowaniu Java, te pojęcia mogą wydawać się mylące na pierwszy rzut oka; Jednak gdy dowiesz się o nich raz lub dwa, stają się znacznie wyraźniejsze. Czytaj dalej, aby dowiedzieć się więcej o modyfikatorach dostępu w Javie.

Modyfikatory dostępu w Javie

Modyfikatory dostępu to specjalne słowa kluczowe, które pozwalają określić, w jaki sposób inny kod może oddziaływać z określonymi metodami lub zmiennymi w klasach. Podobnie jak wiele koncepcji programowania, modyfikatory dostępu są proste w praktyce, ale na początku mogą wydawać się mylące. Gdy je zrozumiesz, mogą pomóc w uczynieniu kodu bardziej czytelnym i możliwym do utrzymania.

Istnieją cztery różne rodzaje modyfikatorów dostępu w Javie:

Krótkie wyjaśnienie:

  • Prywatny: Prywatny członek jest dostępny w ramach klasy.
  • Domyślny: Członek bez modyfikatora dostępu jest również znany jako Pakiet-private. Który jest dostępny tylko w klasach w tym samym pakiecie.
  • Chroniony: Chroniony członek jest dostępny we wszystkich klasach w tym samym pakiecie i podklasach innych pakietów.
  • Publiczny: Członek publiczny jest dostępny w dowolnym miejscu.

Zobacz poniżej obraz infografiki, aby lepiej zrozumieć poziom dostępu różnych modyfikatorów w Javie.

Modyfikatory dostępu i ich zakres w Javie

W powyższej reprezentacji pola z "Tak" są dozwolonym zakresem modyfikatorów. "NIE" Pola nie pozwalają na dostępność członka.

Prywatny modyfikator dostępu

Członek prywatnego dostępu jest dostępny w klasie, który jest zadeklarowany. Błąd kompilacji wystąpi, gdy inna klasa próbowała uzyskać do niego dostęp.

Zrozummy przykładem: stworzył klasę o nazwie „One” i zadeklaruj prywatną zmienną „i” o wartości domyślnej. Teraz utwórz metodę showData () z domyślnym dostępem w tej samej klasie, która drukuje wartość zmienną.

Teraz utwórz kolejną klasę „tecadmin” za pomocą metody Main (). Utwórz obiekt klasy pierwszej i spróbuj wydrukować zmienną „i”. Ponieważ zmienna „i” jest zadeklarowana prywatnie, kompilator Java będzie przez błąd. Skomentuj powyższy wiersz, a następnie wywołać metodę showData. To z powodzeniem wydrukuje wartość „i”, ponieważ metoda jest również zadeklarowana w tej samej klasie.

klasa pierwsza private int i = 10; void showData () System.na zewnątrz.println (i); klasa tecadmin public static void main (string args []) one obj = new one (); System.na zewnątrz.println (obj.I); // Błąd kompilacji // Komentarz powyżej linii, aby przetestować następny kod linii OBJ.showData (); // pomyślnie uruchom
12345678910111213141516klasa pierwsza private int i = 10; void showData () System.na zewnątrz.println (i); klasa tecadmin public static void main (string args []) one obj = new one (); System.na zewnątrz.println (obj.I); // Błąd kompilacji // Komentarz powyżej linii, aby przetestować następny kod linii OBJ.showData (); // pomyślnie uruchom

Wniosek

Główną różnicą między każdym poziomem widoczności jest dostęp do nich: - publiczny - każdy - prywatna - tylko klasa zawierająca zmienną/metodę - chroniona - klasa zawierająca zmienną/metodę i wszelkie klasy pochodzące z niej w widoczności dla klasa, metoda lub zmienna określa, czy i jak inne metody lub klasy mogą z nią oddziaływać. Nazywa się to enkapsulacją i jest to jeden z kamieni węgielnych programów obiektowych. A teraz, gdy wiesz, jakie są modyfikatory dostępu i jak działają, możesz użyć ich we własnym kodzie, aby uczynić go bardziej czytelnym i możliwym do utrzymania.