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