Aktywne Wpisy

Afrobiker +397
#heheszki #systemkaucyjny #polska
Pamiętacie wczorajszą butelkę o pojemności 3,01 litra? No to dzisiaj wjeżdżają całe na biało kartoniki ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Pamiętacie wczorajszą butelkę o pojemności 3,01 litra? No to dzisiaj wjeżdżają całe na biało kartoniki ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
źródło: temp_file8717693924554522658
Pobierz
1-1-1-1 +90
Treść przeznaczona dla osób powyżej 18 roku życia...





W tutorialu jest słowo "widoczność", ale nie rozumiem, co to oznacza?
Narazie dochodzę do wniosku, że modyfikator dostępu przy nazwie klasy narzuca na wszystkie składowe danej klasy "najszerszy" możliwy dostęp, czyli:
- klasa public, pole default -> pole widoczne jako default
- klasa default, pole public -> pole widoczne jako default
Konstruktory i metody tak samo jak pola ( czyli np. jeśli klasa public, jedyny konstruktor private to będzie poprawne, tylko klasa będzie bezużyteczna poza tą klasą poza przypadkami, że pośrednio to wywołam, jakąś np. statyczną metodą tej klasy )
Dobrze rozumiem?
#java #naukaprogramowania
źródło: comment_IaYB1BWwtopYPqNvF7XayK4Re2oc40wI.jpg
PobierzNie mogę zrozumieć fragmentu
Nie rozumiem po co określać class visible, skoro i tak określamy
No właśnie po to samo.
Wyobraź sobie, że w projekcie może być więcej niż jedna klasa ( ͡° ͜ʖ ͡°) i jako ich autor chciałbyś "ukryć" niektóre szczegóły implementacji przed osobami które będą korzystać z Twoich rozwiązań.
@Lewo: Przykładowo, gdyby nie było modyfikatorów dostępu dla klas to:
- w każdym pliku java mógłbyś zaimportować dowolną inną klasę z twojej aplikacji lub bibliotek (nawet taką używaną tylko lokalnie w pakiecie). W przypadku popularnych nazw i dużych aplikacji miałbyś dziesiątki klas do wyboru.
- pomimo, że metody i pola są prywatne samej klasy
czy gdy chcę się "dostać" do innych składowych klasy np. przy operatorze dot ( . ) ).
Jednak nachodzi mnie myśl - dlaczego mogę robić pola public w klasie default ( i tak do takich pól się nie dostanę poza pakietem,
pkgA.MyClass , MyClass publiczne, jedyny konstruktor protected, więc obiektu tej klasy nie zrobimy poza pakietem w klasie nie będącej potomkiem, ale odniesiemy się np. do publicznego pola statycznego tej klasy
@Lewo: Tak, po to to jest. Przykładowo tworzysz abstrakcyjną klasę o dostępie pakietowym. W niej definiujesz pola i metody publiczne (bardziej metody niż pola #pdk). Dziedziczysz z niej już publiczną klasą. W efekcie poza pakietem możesz używać publicznych klas a klasa abstrakcyjna jest ukryta.
W przypadku metod jest sprawa jeszcze bardziej oczywista. Jeśli modyfikator na
Teraz ta "dowolność" mieszania modyfikatorów klas i składowych ma dla mnie sens, dzięki.
źródło: comment_ddgh7F0BAdMxSjnHOE977e9Cjdrh5AtV.jpg
Pobierz@Lewo: Oho, ale babol.
W interfejsie metody domyślne i abstrakcyjne są zawsze public.
Dodatkowo można definiować:
- statyczne metody - mogą być public (domyślnie) lub private
- zwykłe metody - muszą być private.