通常のクラスであるか抽象クラスであるかにかかわらず、すべてのクラスにはコンストラクタがあります。コンストラクターはメソッドではなく、戻り値の型はありません。コンストラクター名はクラス名と一致する必要があります。コンストラクタは任意のアクセス識別子を使用できますが、プライベートとして宣言することもできます。Javaではプライベートコンストラクターが可能ですが、スコープはクラス内のみです。コンストラクターと同様に、メソッドはクラス名と同じ名前を持つことができますが、戻りタイプを持つため、コンストラクターではなくメソッドであることがわかります。クラス内にコンストラクターを実装しない場合、コンパイラーが実装します。this()およびsuper()は、コンストラクターコードの最初のステートメントでなければなりません。それらに言及しない場合、コンパイラーがそれを行います。コンストラクターのオーバーロードは可能ですが、上書きはできません。クラスのコンストラクターをオーバーロードした可能性がありますが、コンストラクターを上書きすることはできません。コンストラクターは継承できません。スーパークラスに引数なし(デフォルト)コンストラクターがない場合、コンパイラーは、通常のシナリオの場合のように、子クラスに標準コンストラクターを挿入しません。コンストラクタがありません。抽象クラスはコンストラクタを持つことができ、インターフェイスを実装するクラスがインスタンス化されるときに呼び出されます。(つまり、具象クラスのオブジェクト作成)。コンストラクターは同じクラスの別のコンストラクターをthis()で呼び出すこともできます。this(パラメーターリスト)。