Couldy вы уточнить, почему это работает:Instance абстрактного класса
public abstract class AbstractClassCreationTest {
public void hello(){
System.out.println("I'm the abstract class' instance!");
}
public static void main(String[] args) {
AbstractClassCreationTest acct = new AbstractClassCreationTest(){};
acct.hello();
}
}
Я предполагаю, что это противоречит спецификации, где мы можем найти:
Это ошибка времени компиляции, если попытка сделанный для создания экземпляра абстрактного класса с использованием выражения создания экземпляра класса (§15.9).
Когда я объявляю анонимный класс, однако я не использую абстрактный класс. Я не знаю, если это возможно. Я не могу найти что-либо в Интернете, и в вашей ссылке нет ссылки на ссылку между абстрактным и анонимным классом. –