Mic*_*zyk 0 java abstract-class abstract anonymous-class
我试图找出,如果有可能创建匿名内部类作为抽象.
我认为,它没有意义,因为我正在尝试创建抽象类的实例,但是来自编译器的消息使我感到困惑:
类'从Test派生的匿名类'必须被声明为abstract或实现抽象方法'方法( )'在测试中
码:
abstract class Test{
abstract void method();
}
Test o = new Test(){};
Run Code Online (Sandbox Code Playgroud)
如果可以将匿名类声明为抽象类,请告诉我如何执行此操作.
我很乐意回答.
见JLS Sec 15.9.5(强调我的):
15.9.5.匿名类声明
Java编译器自动从类实例创建表达式派生匿名类声明.
匿名类永远不是抽象的(第8.1.1.1节).
匿名类总是隐式最终的(§8.1.1.2).
匿名类始终是内部类(第8.1.3节); 它永远不会是静态的(§8.1.1,§8.5.1).