Вы не можете объявить интерфейс внутри блока, как показано нижеПочему вы не можете объявлять интерфейсы членов в локальном классе?
public void greetInEnglish() {
interface HelloThere {
public void greet();
}
class EnglishHelloThere implements HelloThere {
public void greet() {
System.out.println("Hello " + name);
}
}
HelloThere myGreeting = new EnglishHelloThere();
myGreeting.greet();
}
В This Oracle tutorial я получил «Вы не можете объявить интерфейсы членов в локальном классе.» потому что «интерфейсы по своей сути являются статическими».
Я егер, чтобы понять это с более рациональной информацией, почему и как интерфейс по своей сути статичен?
и почему код выше не имеет смысла?
Заранее благодарим за эполмирование!
Я думаю, что ваш вопрос дублируется. Пожалуйста, взгляните на это. http://stackoverflow.com/questions/512877/why-cant-i-define-a-static-method-in-a-java-interface –
@DulithDeCozta Нет, это не дубликат, [Почему не может Я определяю статический метод в интерфейсе Java?] (Http://stackoverflow.com/questions/512877/why-cant-i-define-a-static-method-in-a-java-interface), это полностью другой вопрос –