Mam klasę z metodą, która ma być dostępna tylko dla jej obiektów podrzędnych, a nie dla innych klas w tym pakiecie.Java między prywatnym i chronionym
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | ✔ | ✔ | ✔ | ✔
————————————+———————+—————————+——————————+———————
protected | ✔ | ✔ | ✔ | ✘
————————————+———————+—————————+——————————+———————
no modifier | ✔ | ✔ | ✘ | ✘
————————————+———————+—————————+——————————+———————
private | ✔ | ✘ | ✘ | ✘
____________+_______+_________+__________+_______
my Modifier | ✔ | ✘ | ✔ | ✘
____________+_______+_________+__________+_______
Czy istnieje obejście tego rodzaju modyfikatora?
Być może istnieje sposób, aby stworzyć pakiet końcowy, więc inni programiści nie mogą dodawać żadnych zajęć do mojej paczki?
Czy istnieje sposób na pobranie instancji, która wywołała funkcję i sprawdzenie, czy jest to instancja mojego obiektu super
?
A może po prostu trzeba go zostawić i po prostu użyć chronione, a programiści mogą dodawać inne zajęcia do mojego pakietu ...
+1 dla ASCII malować – mKorbel
@m Korbel zdecydowanie, OP najwyraźniej włożył w to dużo wysiłku =) – Juvanis
@mKorbel Rozszerzyłem ten tabelę ascii z [this] (http://stackoverflow.com/questions/215497/in-java-whats-the-difference-between -publiczny-domyślny-chroniony-i-prywatny? rq = 1) wątek: – Jetse