0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

コンストラクタ

Last updated at Posted at 2019-12-05

初学者ですが、個人的な勉強のためにまとめてみました

##コンストラクタ

・コンストラクタは、生成されたインスタンスがほかのインスタンスから使われる前に、事前準備を整える「前処理」をするためのメソッドの一種

####3つのルール

①メソッド名をクラス名と同じにすること
戻り値型は記述できない
newと一緒にしか使えない(インスタンス生成時以外は呼び出しができない)

####非公開なコンストラクタ

・privateを使うことで、コンストラクタを非公開にすることができる(ほかのクラスがnewを使いインスタンス化できない)

(例)非公開なコンストラクタを使ったクラス定義

Sample.java

public class Sample {
	private Sample() {
	}

	public static Sample getInstance() {
		return new Sample();
	}
}

・非公開なコンストラクタは外部のクラスでインスタンスを作成させないようにしているが、インスタンスを取得する方法が2つある(らしい。自分はまだ理解できていない)
 ①staticフィールドにオブジェクトを保持する
 ②staticメソッドでオブジェクトをリターンする

・非公開のコンストラクタを含むクラスを継承することはできない

####デフォルトコンストラクタ

・コンストラクタ定義を省略した場合、コンパイラがコンパイル時に自動的に追加する引数なしのコンストラクタをデフォルトコンストラクタという
・デフォルトコンストラクタは、引数なし、処理なしのコンストラクタ

####コンストラクタのオーバーロード

・コンストラクタは自由に定義できることから、オーバーロードして複数定義することも可能
this()を使うことで同じクラスのコンストラクタを呼び出すことができる
 
 ★this()使い方

  ・コンストラクタ内でthis( )を使うことで、同じクラスで定義されている他のコンストラクタを呼び出すことができる
  ・引数(引数の数、型、順番)が一致していないと呼び出せない

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?