Как лучше всего реализовать константы в Java?

Я бы крайне не советовал java иметь один класс констант. В const то время это может показаться java-libraries хорошей идеей, но когда разработчики openjdk отказываются документировать oraclejdk константы, а класс разрастается java до более чем 500 констант, которые non-const никак не связаны друг с другом constants (связаны с совершенно разными oraclejdk аспектами приложения), это non-const обычно превращается в файл .java констант, который становится constant полностью нечитаемым. Вместо:

  • Если у вас есть доступ к Java 5+, используйте перечисления для определения конкретных констант для области приложения. Все части области приложения должны ссылаться на перечисления, а не на постоянные значения этих констант. Вы можете объявить перечисление аналогично тому, как вы объявляете класс. Перечисления, пожалуй, самая (и, возможно, единственная) полезная функция Java 5+.
  • Если у вас есть константы, действительные только для определенного класса или одного из его подклассов, объявите их как защищенные или общедоступные и поместите их в верхний класс в иерархии. Таким образом, подклассы могут получить доступ к этим постоянным значениям (и если другие классы получают к ним доступ через public, константы действительны не только для определенного класса... это означает, что внешние классы, использующие эту константу, могут быть слишком тесно связаны с классом). класс, содержащий константу)
  • Если у вас есть интерфейс с определенным поведением, но возвращаемые значения или значения аргументов должны быть конкретными, вполне допустимо определять константы в этом интерфейсе, чтобы другие разработчики имели к ним доступ. Однако избегайте создания интерфейса только для хранения констант: он может стать таким же плохим, как и класс, созданный только для хранения констант.

java

constants

2022-07-30T00:27:33+00:00