对象创建期间的java覆盖

15 java overriding instantiation

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

代码:

   JButton myButton;
   myButton = new JButton ("ok"){

        @Override
        public void setText(String text) {
            super.setText(text +", delete");
        }
Run Code Online (Sandbox Code Playgroud)

jbutton的标签现在是"ok,delete"

Bri*_*new 20

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

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

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