public interface Proposal {
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}
Java не позволяет перечислять final
внутри интерфейса, но по умолчанию каждый элемент данных внутри интерфейса public static final
. Может ли кто-нибудь прояснить это?Почему ядро Java не может быть окончательным?
Вы считаете, что «не окончательное» перечисление является каким-то подклассам? –
Нет, я знал, что перечисление не может быть подклассом, но java дает нам свободу писать окончательный из любой константы в интерфейсе, но не перед перечислением, почему это частично то, что я просил (просто пытаясь прочитать, что там в их уме, делая это?) –
Существует огромная разница между тем, как 'final' используется между определениями класса/интерфейса (и, в принципе, перечисления) и определениями члена * поля * (что является тем, что« константы »обычно находятся в интерфейсе). Один влияет на подклассификацию, а другой влияет на изменчивость. –