Help us understand the problem. What is going on with this article?

コンストラクタ

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

コンストラクタ

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

3つのルール

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

非公開なコンストラクタ

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

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

Sample.java
public class Sample {
    private Sample() {
    }

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

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

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

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

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

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした