2

これは非常に一般的な質問であり、noobの質問について事前に謝罪したいと思いますが...。

Javaでは、一般的に、行内宣言に特定の名前がありますか、それとも単にそれと呼ばれていますか?

オブジェクトを宣言するために、以下のメソッドを参照しています。

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

とは対照的に:

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

4

4 に答える 4

2

これには具体的な名前はないと思います。

ただし、ラベルを「宣言」しているわけではありません。インスタンスを「インスタンス化」しているだけです。

于 2012-10-12T01:03:14.560 に答える
2

人々はそれを「匿名オブジェクト」または「名前のないオブジェクト」と呼んでいるようです。https://stackoverflow.com/a/5330408/659002も参照してください

于 2012-10-12T01:22:49.963 に答える
2

インラインスクリプトまたは実行中のコードは、私が聞いたすべてのコードであり、場合によっては1行で区切られているとは思いません。

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


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

//declaration
JLabel label,label2,label3;
于 2012-10-12T01:11:52.757 に答える
1

Java言語仕様は

new JLabel("Hello World")

インスタンス作成式、および

JLabel label = new JLabel("Hello World);    

変数初期化子を使用した変数宣言(初期化子にインスタンス作成式が含まれている場合)。

つまり、JLSは、変数宣言されオブジェクトが作成されると言います。これらは独立した概念です。オブジェクトを作成せずに変数を宣言したり、変数を宣言せずにオブジェクトを作成したりできます。

コード例の違いを強調するために、「ここで変数を宣言する必要はありません」または「参照を​​変数に入れるとデバッグに役立ちます」のように、変数を宣言する(または宣言しない)と言うことができます。

于 2012-10-12T11:50:16.337 に答える