我正在查看this example并想知道第一行的作用:
private SiteStreamsListener listener = new SiteStreamsListener() {
看起来您可以通过这种方式声明附加方法或重写方法。例如,我可以执行以下操作吗?
ArrayList myList = new ArrayList() {
@Override String toString()
{
<my code here>
}
<insert new methods here>
}
最佳答案
这些大括号定义 anonymous inner class .
这使您能够覆盖正在启动的类的public
和protected
方法。您可以对任何非final
类执行此操作,但对于只能以这种方式启动的抽象类和接口(interface)最有用。
(为了限定最后一句话,可以使用 Java 8 中的 lambda 语句启动仅具有一个非默认
方法的接口(interface),从而绕过了这种设计方法。)
关于java - 'new' 语句后的大括号有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438830/