1

次の表記はどこに表示されると思いますか。

 this(a,b,0,null)

そして、この表現を評価することの効果は何でしょうか?

4

3 に答える 3

4

これは、同じクラスから別のコンストラクターを呼び出すために、コンストラクター内で確認できます。コンストラクターの最初の行である必要があります。
これは、いわゆる代替コンストラクター呼び出しです。

Java言語仕様から

代替コンストラクターの呼び出しは、キーワードthisで始まります(明示的な型引数が前に付いている可能性があります)。これらは、同じクラスの代替コンストラクターを呼び出すために使用されます。
コンストラクター本体の明示的なコンストラクター呼び出しステートメントは、このクラスまたはスーパークラスで宣言されたインスタンス変数、インスタンスメソッド、または内部クラスを参照したり、式でthisまたはsuperを使用したりすることはできません。そうしないと、コンパイル時エラーが発生します。

于 2013-03-03T16:29:47.263 に答える
1

その式は、コンストラクター内の最初の行として有効です。その効果は、異なる引数でオーバーロードされたコンストラクターを呼び出すことです。

于 2013-03-03T16:29:58.557 に答える
0

を使用this()すると、クラス内からコンストラクターを呼び出すことができます。そのクラスのコンストラクター内から。

于 2013-03-03T16:30:10.343 に答える