初学者ですが、個人的な勉強のためにまとめてみました
##コンストラクタ
・コンストラクタは、生成されたインスタンスがほかのインスタンスから使われる前に、事前準備を整える「前処理」をするためのメソッドの一種
####3つのルール
①メソッド名をクラス名と同じにすること
②戻り値型は記述できない
③newと一緒にしか使えない(インスタンス生成時以外は呼び出しができない)
####非公開なコンストラクタ
・privateを使うことで、コンストラクタを非公開にすることができる(ほかのクラスがnewを使いインスタンス化できない)
(例)非公開なコンストラクタを使ったクラス定義
public class Sample {
private Sample() {
}
public static Sample getInstance() {
return new Sample();
}
}
・非公開なコンストラクタは外部のクラスでインスタンスを作成させないようにしているが、インスタンスを取得する方法が2つある(らしい。自分はまだ理解できていない)
①staticフィールドにオブジェクトを保持する
②staticメソッドでオブジェクトをリターンする
・非公開のコンストラクタを含むクラスを継承することはできない
####デフォルトコンストラクタ
・コンストラクタ定義を省略した場合、コンパイラがコンパイル時に自動的に追加する引数なしのコンストラクタをデフォルトコンストラクタという
・デフォルトコンストラクタは、引数なし、処理なしのコンストラクタ
####コンストラクタのオーバーロード
・コンストラクタは自由に定義できることから、オーバーロードして複数定義することも可能
・this()を使うことで同じクラスのコンストラクタを呼び出すことができる
★this()使い方
・コンストラクタ内でthis( )を使うことで、同じクラスで定義されている他のコンストラクタを呼び出すことができる
・引数(引数の数、型、順番)が一致していないと呼び出せない