java - Java 中的内联对象实例化和转换

标签 java class inline instantiation

我是从 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/

相关文章:

java - 始终返回登录屏幕

java - 套接字关闭异常

java - 如果我从第一个 ArrayList 中删除了一个值,如何在两个 ArrayList 上获得相同的位置

c++ - 在模板类构造函数中创建一个计数器

r - 使用 R Inline 和 fortran 进行多维数组运算

java - 在oracle中使用long或Long映射 "NUMBER"列?

java - 在java中有两种创建对象的方法吗?

css - Selenium IDE - 验证类的值

html - 如何控制哪些元素比其他元素改变宽度更多?将流体与静态容器在线混合

objective-c - 如何在 Objective-C 中编写 'global' 内联函数(使用 C 语法)