Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでデフォルトコンストラクタを作成する方法をわかりやすく解説

デフォルトコンストラクタ(引数なしコンストラクタ)とは

引数なしのコンストラクタ(No-arg constructor)は、パラメータを一切受け取らず、クラスのフィールドをそれぞれのデフォルト値で初期化します。具体的には、オブジェクト型には nullfloat 型と double 型には 0.0boolean 型には falsebyteshortintlong 型には 0 が設定されます。

なお、コンストラクタを明示的に呼び出す必要はありません。オブジェクトが生成される(インスタンス化される)タイミングで自動的に呼び出されます。

コンストラクタを定義する際のルール

コンストラクタを定義するときは、以下のポイントに注意しましょう。

  • コンストラクタには戻り値の型が存在しません。
  • コンストラクタの名前は、必ずクラス名と同じにします。
  • コンストラクタに abstractfinalstaticsynchronized を指定することはできません。
  • アクセス修飾子としては、publicprotectedprivate を使用できます。

例1:暗黙的なデフォルトコンストラクタ

コンストラクタを明示的に定義しない場合でも、Javaコンパイラが自動的にデフォルトコンストラクタを提供します。次の例では、int 型のフィールドがデフォルト値の 0 で初期化されます。

class NumberValue {
    private int num;
    public void display() {
        System.out.println("The number is: " + num);
    }
}
public class Demo {
    public static void main(String[] args) {
        NumberValue obj = new NumberValue();
        obj.display();
    }
}

実行結果

The number is: 0

例2:明示的に定義したデフォルトコンストラクタ

自分で引数なしのコンストラクタを定義すれば、初期値を自由に設定できます。次の例では、final フィールドに対してコンストラクタ内で値を代入しています。

public class Student {
    public final String name;
    public final int age;

    public Student(){
        this.name = "Raju";
        this.age = 20;
    }
    public void display(){
        System.out.println("Name of the Student: "+this.name );
        System.out.println("Age of the Student: "+this.age );
    }
    public static void main(String args[]) {
        new Student().display();
    }
}

実行結果

Name of the Student: Raju
Age of the Student: 20

このように、デフォルトコンストラクタを使うことで、オブジェクト生成時に一貫した初期状態を保証できます。特に final フィールドを持つクラスでは、コンストラクタでの初期化が必須となるため、実務でも重要な概念です。

  1. Java 9でHTML5準拠のJavadocドキュメントを生成する方法

    Java 9より前のバージョンでは、特定のパッケージ、クラス、インターフェース、メソッドに関する情報を調べるには、Googleなどの検索エンジンを使って探す必要がありました。しかしJava 9からは、Javadoc自体に検索機能が組み込まれ、生成されるAPIドキュメントの出力もHTML5標準に準拠するようになりました。 この記事では、実際にサンプルを作成しながら、Java 9でHTML5準拠のJavadocを生成する手順を解説します。 サンプルファイルの作成 まず、「C:/JAVA」フォルダ内に「JavaDocTest.java」というファイルを作成します。コードには、Javadocコメントと

  2. Javaでパッケージをコンパイルする方法をわかりやすく解説

    Javaパッケージの作成とコンパイルの基本手順ここでは、「animals」という名前のパッケージを作成する例を通して、Javaにおけるパッケージのコンパイル方法を解説します。なお、パッケージ名はクラス名やインターフェース名との名前の衝突(競合)を避けるため、すべて小文字で命名するのがJavaの一般的な慣習です。1. パッケージ内にインターフェースを定義するまず、animalsパッケージに属する「Animal」というインターフェースを定義します。/* ファイル名 : Animal.java */ package animals; interface Animal {   &n