在对象的行实例化中

时间:2012-10-12 01:00:29

标签: java inline-code

这是一个非常普遍的问题,我想提前为noob问题道歉但是......

在java中,一般来说,是否有一个特定的行内声明名称,或者只是简单地调用它?

我指的是声明对象的以下方法:

panel.add(new JLabel("Hello World"));

而不是:

JLabel label = new JLabel("Hello World); panel.add(label);

4 个答案:

答案 0 :(得分:2)

我认为没有特定的名称。

但是,你并没有“宣布”这个标签。你只是在“实例化”一个实例。

答案 1 :(得分:2)

我认为没有,内联脚本或正在运行的代码是我所听到的所有内容,有时是单行分隔。

JLabel labe;
panel.add(labe = new JLabel("Hello World"));


//Instantiation
JLabel label = **new** JLabel("Hello World);

//declaration
JLabel label,label2,label3;

答案 2 :(得分:2)

人们似乎把它称为“匿名对象”或“未命名对象”。另请参阅https://stackoverflow.com/a/5330408/659002

答案 3 :(得分:1)

Java语言规范调用

new JLabel("Hello World")

instance creation expression

JLabel label = new JLabel("Hello World);    

a variable declaration with a variable initializer(初始化程序恰好包含实例创建表达式)。

也就是说,JLS说变量声明对象已创建。这些是独立的概念;您可以在不创建对象的情况下声明变量,并在不声明变量的情况下创建对象。

为了强调代码示例之间的区别,你可以说你做(或不做)声明变量,如“不需要在这里声明变量”或“将引用放入变量有助于调试”。