Java のコンストラクタはオーバーライドできますか

Javaではコンストラクタは他のメソッドと同様にオーバーロードすることはできますが、オーバーライドすることはできません。

コンストラクタはオブジェクト生成時に呼び出される特別なメソッドで、クラス名と同じ名前を持ち、戻り値の型がないことが特徴です。すべてのクラスにはデフォルトの無引数コンストラクタがあり、明示的に別のコンストラクタを定義すると、コンパイラはデフォルトの無引数コンストラクタを生成しなくなります。

オーバーロードとは、同一クラス内に、メソッド名が同じだが、引数の型や数が異なるメソッドを複数定義できることです。オーバーロードは、さまざまなニーズに対応するために、より多くのメソッド呼び出しオプションを提供することを目的としています。

親クラスメソッドをサブクラス内で新たに定義すること。その際、サブクラスメソッドのメソッド名・引数リスト・戻り値は親クラスのものと同一でなければなりません。オーバーライドの目的はメソッドの実装方法を変更し、サブクラス特有のニーズに合わせて調整することです。

メソッドがオブジェクトを作成するためのものなので、各クラスは(デフォルトのコンストラクタを含めて)コンストラクタを1つしか持てません。したがって、コンストラクタをオーバーライドする必要はなく、オーバーライドすることもできません。

bannerAds