在对象创建期间的java覆盖

在下面的java代码中创建了一个JButton,但同时它的一个方法被覆盖。 问题:创建对象时是否有以这种方式覆盖的名称?

代码:

JButton myButton; myButton = new JButton ("ok"){ @Override public void setText(String text) { super.setText(text +", delete"); } 

jbutton的标签现在是“ok,delete”

这是一个匿名课程。 来自Java的坚果壳

匿名类是没有名称的本地类。 使用new运算符在单个简洁表达式中定义和实例化匿名类。 虽然本地类定义是Java代码块中的语句,但匿名类定义是表达式,这意味着它可以作为更大表达式的一部分包含在内,例如方法调用。 当一个本地类只使用一次时,请考虑使用匿名类语法,它将类的定义和使用放在完全相同的位置。

这是提供基类特化而不通过class表达式显式定义新类的常用方法。