0

我在互联网上偶然发现了这个声明,发现它真的很有趣。但是,我不知道要搜索什么来获取有关它的更多信息。如果你能告诉我一些关于这个或搜索什么的信息......

(声明方法的调用)

 JPanel bluePanel = new JPanel(){{
        setBackground(Color.blue);
        setLocation(220, 10);
        setSize(50, 50);
 }};
4

1 回答 1

1

您正在派生一个匿名子类,JPanel然后为它声明一个初始化程序块

这是子类:

new JPanel(){};

注意大括号。并在其中声明了初始化程序:

new JPanel() {
 { 
    // static initaliser
 }
};

子类的派生只是为了允许初始化块。这称为双括号初始化,有些人担心滥用创建匿名类只是为了这个目的。

有关初始化程序块的更多信息,请参见此处

于 2013-05-16T12:42:56.523 回答