我是从 Visual Basic 转到 Java 的,似乎认为我在很多方面都被宠坏了 :p
有没有办法实例化对象并内联修改它?像这样的东西:
JFrame aFrame = new JFrame();
aFrame.add(new JPanel() {.setSize(100,100) .setLocation(50,50) .setBackground(Color.red) });
我能够@Override
方法,但我正在寻找更简单的方法。我进行了很多搜索,但如果有针对这种内联实例化的特定术语,我就找不到了。
感谢您的宝贵时间!
最佳答案
是的,但有些人认为它很老套。
JFrame aFrame = new JFrame();
aFrame.add(new JPanel() {{
setSize(100,100);
setLocation(50,50);
setBackground(Color.red);
}});
基本上您添加了另一层 {}
(实例初始化 block ),它在面板被实例化时执行。因此您可以在其中放入任何代码。 (比如调用 setter)。
关于java - Java 中的内联对象实例化和转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8765007/