Встретил в задании такой интерфейс
public interface Planet {
static String SUN = "sun";
static String MOON = "moon";
static String EARTH = "earth";
}
у меня вопрос, какая разница будут ли константы статические или не статические ?
Кто силен в английском? Не могу понять смысл одного из правил переопределения методов, объявленных в интерфейсе. Взято тут.
Checked exceptions should not be declared on implementation methods other than the ones declared by the interface method or subclasses of those declared by the interface method.
у меня еще вопрос не про интерфейсы, статические переменные объявленные в классе, инициализируются при любом условии? то есть допустим есть класс Main и класс Cat, в классе Main есть метод main, то есть точка входа и этот класс никак не связан с классом Cat, ни наследует ни создает обькты ничего, статические переменные в классе Cat всеравно инициализируются или инициализация произойдет только через вызов, допустим Cat.catscount?;
Все поля в интерфейсах даже если это не сделано явно становятся static final.
А вообще использовать интерфейс для описания констант плохая практика, с точки зрения ООП интерфейс должен описывать поведение.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
А вообще использовать интерфейс для описания констант плохая практика, с точки зрения ООП интерфейс должен описывать поведение.