在下面的java代码中创建了一个JButton,但同时它的一个方法被覆盖。 问题:在创建对象时是否有以这种方式覆盖的名称?
代码:
JButton myButton;
myButton = new JButton ("ok"){
@Override
public void setText(String text) {
super.setText(text +", delete");
}
jbutton的标签现在是“ok,delete”
答案 0 :(得分:20)
这是一个匿名课程。来自Java in a Nutshell
匿名类是本地类 没有名字。一个匿名类是 在单个中定义和实例化 使用新的简洁表达 运营商。当地的一个班级 definition是块中的语句 Java代码,一个匿名类 定义是一个表达式,其中 意味着它可以作为一部分包含在内 更大的表达,例如a 方法调用。当地的一个班级 仅使用一次,考虑使用 匿名类语法,放置 该课程的定义和使用 完全相同的地方。
这是提供基类特化而不通过class
表达式明确定义新类的常用方法。