●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

Javaでオブジェクトを生成するとき、最初に呼び出される特別なメソッドがあります。
それが コンストラクタ(Constructor) です。
オブジェクトの初期設定や準備を行うために使用されます。

コンストラクタとは?

コンストラクタとは、クラスからインスタンスを生成する際に呼び出される特殊なメソッドです。
名前はクラス名と同じで、戻り値(voidなど)を指定しません

基本構文

class クラス名 {
    // コンストラクタ
    クラス名() {
        // 初期化処理
    }
}
    

例:引数なしのコンストラクタ

public class Person {
    String name;

    // コンストラクタ
    public Person() {
        name = "未設定";
    }
}
    

例:引数ありのコンストラクタ

public class Person {
    String name;
    int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
    

オブジェクトを作ると同時に、値を設定することができます。

コンストラクタの使い方

Person p1 = new Person();               // 引数なしコンストラクタを呼び出し
Person p2 = new Person("Taro", 20);     // 引数ありコンストラクタを呼び出し
    

複数のコンストラクタ(オーバーロード)

Javaでは、引数の違いによって複数のコンストラクタを定義できます。

public class Book {
    String title;
    int price;

    public Book() {
        this("無題", 0);
    }

    public Book(String title, int price) {
        this.title = title;
        this.price = price;
    }
}
    

thisキーワードで他のコンストラクタを呼び出す

this() を使うことで、別のコンストラクタを呼び出すことができます(1行目に限る)。

まとめ

コンストラクタ(Constructor)は、オブジェクトを生成したときに自動的に呼ばれる初期化用のメソッドです。
クラス名と同じ名前で定義し、戻り値を持ちません。
オーバーロードやthis()を使って柔軟に設計することで、使いやすく安全なクラスを作ることができます!

 

Java関連用語集

−−−−−  Java  −−−−−

Javaの基本「クラス(Class)」とは?

Javaの基本「オブジェクト(Object)」とは?

Javaの処理を定義する「メソッド(Method)」とは?

Javaのデータを保持する「フィールド(Field)」とは?

Javaの「クラスの実体」インスタンス(Instance)とは?

クラスの再利用と拡張を実現!「継承(Inheritance)」とは?

オブジェクト指向の柔軟性!「多態性(Polymorphism)」とは?

データを守り、使いやすくする!「カプセル化(Encapsulation)」とは?

共通の土台を定義する「抽象クラス(Abstract Class)」とは?

クラスの共通ルールを定義する「インターフェース(Interface)」とは?

Javaのクラス整理箱「パッケージ(Package)」とは?

Javaで他のクラスを使う「import文」とは?

クラスやメソッドの公開範囲を制御する「アクセス修飾子」とは?

クラスに属するメンバーを定義する「static(静的)」とは?

値や定義を固定するキーワード「final(定数・変更不可)」とは?

エラーが起きても安全に!Javaの「try-catch(例外処理)」とは?

例外を発生させる / 伝える!「throw」と「throws」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

同じ名前で違う使い方ができる!「オーバーロード(Overload)」とは?

親クラスのメソッドを書き換える!「オーバーライド(Override)」とは?

自分自身を指し示す「thisキーワード」とは?

親クラスを扱う「superキーワード」とは?

クラスからオブジェクトを作る!「newキーワード」とは?

「何もない」を表す特別な値「null」とは?

複数のデータをまとめて扱う「配列(Array)」とは?

配列より便利!Javaの「コレクション(Collection)」とは?

Javaの3大コレクション型「List / Map / Set」ってなに?

コードをスッキリ書ける!「ラムダ式(Lambda Expression)」とは?

データを簡潔に処理!Javaの「Stream API」とは?

Javaをどこでも動かす「JVM(Java Virtual Machine)」とは?