Java: Могут ли интерфейсы содержать постоянные переменные, определенные в них? - PullRequest
8 голосов
/ 25 октября 2010

Могу ли я создать public static final переменные в интерфейсе?Могу ли я сохранить некоторые общие постоянные значения, определенные в этих файлах?

Ответы [ 3 ]

13 голосов
/ 25 октября 2010

Да, вы можете:

public interface Constants
{
    public static final int ZERO = 0;
}

Однако, как правило, считается плохой идеей в наши дни.Это не так уж плохо, если интерфейс имеет реальное назначение , а также , и константы, вероятно, будут использоваться большинством реализаций ... но для его создания интерфейс просто на самом деле легче получить доступ к константам - это злоупотребление назначением интерфейсов.(И это то, что часто случалось.)

1 голос
/ 25 октября 2010

Конечно, константы public могут использоваться объявленными внутри интерфейсов. Одна вещь, однако, если ваш интерфейс просто будет заполнителем для констант, используйте enum вместо

1 голос
/ 25 октября 2010

Да, вы можете хранить константы в интерфейсах. Кстати, это считается не очень хорошей практикой.

...