我在互联网上偶然发现了这个声明,发现它真的很有趣。但是,我不知道要搜索什么来获取有关它的更多信息。如果你能告诉我一些关于这个或搜索什么的信息......
(声明方法的调用)
JPanel bluePanel = new JPanel(){{
setBackground(Color.blue);
setLocation(220, 10);
setSize(50, 50);
}};
我在互联网上偶然发现了这个声明,发现它真的很有趣。但是,我不知道要搜索什么来获取有关它的更多信息。如果你能告诉我一些关于这个或搜索什么的信息......
(声明方法的调用)
JPanel bluePanel = new JPanel(){{
setBackground(Color.blue);
setLocation(220, 10);
setSize(50, 50);
}};
您正在派生一个匿名子类,JPanel
然后为它声明一个初始化程序块。
这是子类:
new JPanel(){};
注意大括号。并在其中声明了初始化程序:
new JPanel() {
{
// static initaliser
}
};
子类的派生只是为了允许初始化块。这称为双括号初始化,有些人担心滥用创建匿名类只是为了这个目的。
有关初始化程序块的更多信息,请参见此处。