Подтвердить что ты не робот

Файл констант Java

Я разрабатываю приложение для Android, и я очень новичок в Java и Android.

Я хочу создать некоторые константы для использования в некоторых действиях. Где я могу определить эти константы?

Спасибо.

4b9b3361

Ответ 1

Он считал плохую практику в java и большинстве языков OO, чтобы определить класс просто для хранения констант. Гораздо лучше определить константы в классе, с которым они связаны. Обычно есть один. например.

interface MyComponent {
  /** The default height for a component */
  public static final int DEFAULT_HEIGHT = 5;
  // other stuff
}

Если действительно нет, не стесняйтесь определять отдельный класс.

EDIT: Ключевыми здесь являются:

  • Сделать константы легко найти. Если есть "естественное" место для их размещения, поместите их туда (то есть высота по умолчанию для объектов Component принадлежит классу Component).
  • У вас нет более высокой связи, чем вам нужно. Включение всех ваших констант в один класс "Константы" обеспечивает высокую связь, особенно в том случае, если последующие модификаторы имеют тенденцию затем помещать ВСЕ константы в класс Constants, независимо от того, есть ли у них другой класс, который они могли бы естественно ввести.
  • Просто потому, что константа используется более чем одним классом, что не означает, что она должна быть в классе "Константы". Если константа используется "Приложением" и классами, использующими класс Application, тогда поместите ее в класс Application. Таким образом, вы не увеличиваете сцепление.

Ответ 2

Обычно вы должны использовать класс Constants или определять их в классах, где они используются, a la:

class Constants {
   public static final int NUM_TRIANGLES = 4;
   public static final String SOME_TEXT = "This is a constant";
}

Затем вы можете обратиться к ним с помощью:

String inst = Constants.SOME_TEXT;

Ответ 3

Самый распространенный способ - создать константы в классах, которые вам нужны:

class Example { 
  private static final int FILENAME = "test.txt; 
} 

Вместо частного он также может быть объявлен по умолчанию, защищен или открыт. Несмотря на то, что определение констант OO определяет константы - это специальные константы ( God), который хранит константы для всего приложения. Кроме того, вы также можете сохранять данные конфигурации в файле свойств , это не считается анти-шаблоном.

Другим вариантом, который быстро набирает популярность, является использование шаблона Dependency Inject (DI). Часто этот шаблон используется для объекта зависимости, но его также можно использовать для ввода постоянных значений в объекты. Это может быть, например, реализовано с помощью легкого Guice:

class Example {
  String filename;

  @Inject
  public Example(@ConfigFilename String filename) {
     this.filename = filename;        
  }

В специальном классе Binder вы привяжете значение к строкам, аннотированным с помощью @ConfigFilename. Таким образом, у вас минимальная связь и классы, которые могут быть независимо протестированы.

Ответ 4

Вы можете определить некоторые константы в перечислениях Java.

Один перечислитель Java может содержать несколько полей связанных данных.

Oracle предоставляет это введение в перечисления Java.