Java初始化抽象类

use*_*804 3 java abstract-class initialization

有人可以为我解释这行代码吗?

SomeAbstractClass variable = new SomeAbstractClass() { };

这适当地实例化并将抽象实例存储在变量中.怎么了?可能是一个扩展抽象类的匿名类?我可以使用任何关键字查找有关此信息?(如果有任何相关性,抽象类也恰好是通用的)

Ste*_*ppo 7

上面的一行是创建一个匿名的子类SomeAbstractClass,它不会abstract.当然,只有在基类没有abstract实现方法的情况下,这才有效.

实际上,我无法想象上面一行中有用的实例(除了"文档"功能,请参阅下面的注释),除非您在花括号之间实现和/或覆盖方法.如果基类/接口碰巧有很少的方法要实现并且实现很简单,那么这是一种非常常见的技术.您甚至可以参考final周围方法和参数的变量,从而形成闭包.