在java匿名类中实现这些规则有什么原因吗
据我所知,普通类和匿名类的区别是:在java匿名类中实现这些规则有什么原因吗,java,Java,据我所知,普通类和匿名类的区别是: 匿名类无法实现多个接口,而常规类可以实现 匿名类不能同时扩展类和实现接口 而普通班可以 匿名类没有名称,而常规类有名称 匿名类无法定义构造函数,因为匿名类没有名称,而常规类可以 在匿名类中实现这些规则有什么原因吗 匿名类的静态字段必须是常量 接口不能是匿名类的成员 静态块/初始值设定项不能在匿名类中使用 因为JLS说: 匿名类始终是内部类();它从来不是静态的(,) JLS表示: 如果内部类声明静态初始值设定项(),则是编译时错误 如果内部类声明的成员是
- 匿名类无法实现多个接口,而常规类可以实现
- 匿名类不能同时扩展类和实现接口 而普通班可以
- 匿名类没有名称,而常规类有名称
- 匿名类无法定义构造函数,因为匿名类没有名称,而常规类可以
- 匿名类的静态字段必须是常量
- 接口不能是匿名类的成员
- 静态块/初始值设定项不能在匿名类中使用 因为JLS说: 匿名类始终是内部类();它从来不是静态的(,) JLS表示: 如果内部类声明静态初始值设定项(),则是编译时错误 如果内部类声明的成员是显式或隐式的
静态的
,则这是编译时错误,除非该成员是常量变量()
请注意,接口是隐式的静态的
另见问题: