Если у меня есть класс java, который является закрытым пакетом (объявлен с классом, а не «публичным классом»), нет никакой разницы, если методы внутри объявлены общедоступными или защищенными или частными пакетами, верно? Так что я должен использовать, или когда я должен использовать это? Я немного смущен.Java - Доступность метода внутри пакета - частный класс?
ответ
Если у меня есть класс java, который является закрытым пакетом (объявлен с классом, а не «открытый класс»), то нет никакой разницы, если методы внутри объявлены общедоступными или защищенными или частными, правильно?
Ну, может быть, не сразу. Но если вы затем (или в будущем) объявите «защищенный» или «общедоступный» класс, который наследуется от пакета-частного класса, то видимость членов исходного класса составляет.
Как отмечает @kmccoy, объявление класса как окончательного исключает возможность подклассов.
Но это действительно только оконная одежда. Если вы затем решите, что вам действительно нужно создавать подклассы, вы просто удаляете final
... и затем возвращаетесь в ситуацию, когда выбор модификаторов доступа имеет значение.
IMO, в итоге вы должны выбрать наиболее подходящие модификаторы ... даже если это не нужно прямо сейчас. Если ничего другого, ваш выбор модификаторов должен документировать ваше намерение относительно того, где лежат границы абстракции.
Публичные методы внутри класса пакета являются общедоступными для классов в одном пакете. Но частные методы не будут доступны классам в одном пакете.
- 1. Класс Java Доступность
- 2. Java - передать частный класс методу
- 3. f # частный класс внутри public one
- 4. Доступность метода Java к конкретным пакетам
- 5. Доступность модели внутри ActionFilter
- 6. Как мы можем протестировать пакет-частный класс?
- 7. Частный вложенный класс Java в диаграмме UML
- 8. пакет частный статический класс-член против пакета private class
- 9. java classpath с junit и класс тестирования внутри пакета
- 10. Как объявить публичный и частный элемент внутри пакета?
- 11. Класс, возвращающий (частный?) Диапазон
- 12. частный прототип внутри класса
- 13. Класс дифференцирование и доступность
- 14. Генератор Mybatis расширяет частный класс
- 15. Доступность пакета для функции и/или класса
- 16. Класс ООП частный/защищенный
- 17. Частный Вложенный класс
- 18. полу-частный внутренний класс
- 19. абстрактные частный внутренний класс
- 20. C++ частный класс
- 21. Как правильно определить частный класс внутри другого класса?
- 22. RethinkDB: Загрузка пакета NodeJS внутри метода r.js
- 23. Частный внутренний класс синтезирует неожиданный анонимный класс
- 24. Создайте java-файл внутри пакета
- 25. Instantiate частный внутренний класс со статическим методом
- 26. Частный класс как возвращаемый тип от общедоступного метода
- 27. Java синхронизации внутри метода Run()
- 28. Почему мы не можем объявить частный локальный внутренний класс внутри метода?
- 29. Принудительный класс в Java для вызова метода
- 30. Java - Не вижу классов внутри пакета
Если класс является «окончательным классом SomeClass», то будет ли видимость элемента? – kmccoy
Если последний модификатор удален в будущем в будущем рефакторинге :) Помните, что это программное обеспечение, «final» не означает, что «камень не меняется», это значит, «не может выводить дочерний класс из этого типа, поскольку он написан прямо сейчас." –