次の表記はどこに表示されると思いますか。
this(a,b,0,null)
そして、この表現を評価することの効果は何でしょうか?
これは、同じクラスから別のコンストラクターを呼び出すために、コンストラクター内で確認できます。コンストラクターの最初の行である必要があります。
これは、いわゆる代替コンストラクター呼び出しです。
Java言語仕様から
代替コンストラクターの呼び出しは、キーワードthisで始まります(明示的な型引数が前に付いている可能性があります)。これらは、同じクラスの代替コンストラクターを呼び出すために使用されます。
コンストラクター本体の明示的なコンストラクター呼び出しステートメントは、このクラスまたはスーパークラスで宣言されたインスタンス変数、インスタンスメソッド、または内部クラスを参照したり、式でthisまたはsuperを使用したりすることはできません。そうしないと、コンパイル時エラーが発生します。
その式は、コンストラクター内の最初の行として有効です。その効果は、異なる引数でオーバーロードされたコンストラクターを呼び出すことです。
を使用this()
すると、クラス内からコンストラクターを呼び出すことができます。そのクラスのコンストラクター内から。