这个语言功能叫什么?

时间:2011-10-27 14:08:32

标签: java

JPanel panel = new JPanel() {
        public void setBackground(Color c) {
           Logger.global.info("setBackground: c=" + c);
           super.setBackground(c);
        }
    };

我只知道我可以做JPanel panel = new JPanel();

为什么有人会这样做?它的名字是什么?

2 个答案:

答案 0 :(得分:7)

它被称为匿名类

该代码基本上创建了一个JPanel“的子类”而没有给它一个名字(因此术语 anonymous 类)并实例化它。

相关问题和链接:

答案 1 :(得分:0)

这是一个匿名类,您可以扩展和定义其他方法或覆盖现有方法。

请注意,您可以像扩展接口或抽象类一样。