Для настройки библиотеки API вы хотите защитить все, что вы
не хочу подвергаться Для этого просто опустите модификатор доступа:
class fooBar {
// do stuff here
}
Это установит доступ к классу как «по умолчанию», который разрешает доступ из
в том же пакете, а также из любых классов, которые подкласс
fooBar
.
В ваших классах вы также захотите заблокировать любой доступ к вашим методам и членам, отметив их private
, protected
или опуская модификатор так, чтобы они были «по умолчанию», как требуется.
private
разрешит доступ только из содержащего класса;
- 'default' (без модификатора) позволяет изнутри содержащего класса и содержащего пакета; и
protected
разрешит доступ из того же класса, пакета и любых подклассов.
Для всего, что вы выставили (public
), также полезно пометить его как final
, если оно не предназначено для переопределения.
По сути, блокируйте все как можно больше. Меньшие API проще в использовании и их сложнее взломать. Если вы обнаружите, что что-то должно быть раскрыто в будущем, сделайте это в будущем. Гораздо проще расширять API, а не использовать его.