На днях я узнал, что вы можете это сделать
new Object() {
void hello() {
System.out.println("Hello World!");
}
}.hello();
Это кажется мне очень странным. Конечно, статический тип созданного объекта Object
, поэтому не существует метода hello()
? Разве это не совсем бессмысленно (например, невозможно дважды вызвать hello
).
У меня есть 2 вопроса об этом.
- Может кто-нибудь указать мне на часть спецификации, которая обращается к этому?
- Правильно ли я думаю, что единственный способ, которым вы можете ссылаться
hello
, сразу выглядит так. Как насчет отражения?
Спасибо