У меня есть класс с методом, который должен быть доступен только для его дочерних объектов, а не для других классов этого пакета.Java между частными и защищенными
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | ✔ | ✔ | ✔ | ✔
————————————+———————+—————————+——————————+———————
protected | ✔ | ✔ | ✔ | ✘
————————————+———————+—————————+——————————+———————
no modifier | ✔ | ✔ | ✘ | ✘
————————————+———————+—————————+——————————+———————
private | ✔ | ✘ | ✘ | ✘
____________+_______+_________+__________+_______
my Modifier | ✔ | ✘ | ✔ | ✘
____________+_______+_________+__________+_______
Есть ли обходной путь для модификатора такого типа?
Возможно, есть способ сделать пакет окончательным, чтобы другие программисты не могли добавлять какие-либо классы в мой пакет?
Или есть способ получить экземпляр, который вызвал функцию, и проверить, является ли этот экземпляр моего объекта super
?
Или я просто оставить его, и просто использовать защищенные, и другие программисты могут добавлять классы в мой пакет ...
+1 для ASCII краска – mKorbel
@m Korbel определенно, OP, похоже, приложил для этого значительные усилия =) – Juvanis
@mKorbel Я расширил эту таблицу ascii от [this] (http://stackoverflow.com/questions/215497/in-java-whats-the-difference-between -public-default-protected-and-private? rq = 1) thread: – Jetse