オブジェクトを作成する方法

JavaBeginner
オンラインで実践に進む

はじめに

Java では、オブジェクトを作成することは、オブジェクト指向プログラミング(OOP)の基本概念であり、クラスのブループリントを使用できるようにします。オブジェクトは現実世界のエンティティを表し、現実世界のエンティティと同じようなプロパティを持っています。この実験では、クラスのオブジェクトを作成する方法を学びます。

クラスを作成する

最初のステップは、プロパティを持つエンティティを表すクラスを作成することです。たとえば、「Car」という名前のクラスを作成して、色、ブランド名、燃料タイプなどのプロパティを持つ自動車の現実世界のエンティティを表現しましょう。

public class Car {
    private String carColor;
    private String brand;
    private String fuelType;

    public void start() {
        //自動車を起動するコード
    }

    public void stop() {
        //自動車を停止するコード
    }
}

new キーワードを使ってオブジェクトを作成する

Java でオブジェクトを作成するには、コンストラクタとともに new キーワードを使用します。次の例では、new キーワードを使って「myCar」という名前のオブジェクトを作成します。「myCar」オブジェクトを使って「start()」と「stop()」メソッドを呼び出します。

public class Main {
    public static void main(String[] args) {
        //new キーワードを使ってオブジェクトを作成する
        Car myCar = new Car();

        //オブジェクトを使ってメソッドを呼び出す
        myCar.start();
        myCar.stop();
    }
}
コードの実行

コードを実行するには、ターミナルで次のコマンドを実行します。

javac Main.java && java Main

newInstance() メソッドを使ってオブジェクトを作成する

オブジェクトは、「Class」クラスの「newInstance()」メソッドを使っても作成できます。次の例では、「newInstance()」メソッドを使って、「Student」クラスの「newStudent」という名前のオブジェクトを作成します。

class Student {
    private String name;
    private int id;
}

public class Main {
    public static void main(String[] args) throws Exception {
        //newInstance() メソッドを使ってオブジェクトを作成する
        Student newStudent = Student.class.newInstance();

        //オブジェクトに値を割り当てる
        newStudent.name = "John";
        newStudent.id = 123;
    }
}
コードの実行

コードを実行するには、ターミナルで次のコマンドを実行します。

javac Main.java && java Main

clone() メソッドを使ってオブジェクトを作成する

クラスの少なくとも 1 つのオブジェクトが既に作成されている場合、clone()メソッドを使ってオブジェクトを作成することができます。次の例では、clone()メソッドを使って、StudentクラスのnewStudentという名前のオブジェクトを作成します。

class Student implements Cloneable {
    private String name;
    private int id;

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        //オブジェクトを作成する
        Student student = new Student();
        student.name = "John";
        student.id = 123;

        //オブジェクトをクローンする
        Student newStudent = (Student) student.clone();
    }
}
コードの実行

コードを実行するには、ターミナルで次のコマンドを実行します。

javac Main.java && java Main

シリアル化と逆シリアル化を使ってオブジェクトを作成する

シリアル化と逆シリアル化を使ってオブジェクトを作成することは、クラスがシリアライズ可能である必要があるオブジェクトを作成する方法です。次の例では、シリアル化と逆シリアル化を使って、StudentクラスのnewStudentという名前のオブジェクトを作成します。

import java.io.Serializable;

class Student implements Serializable {
    private String name;
    private int id;
}

public class Main {
    public static void main(String[] args) throws Exception {
        //オブジェクトを作成する
        Student student = new Student();
        student.name = "John";
        student.id = 123;

        //オブジェクトのシリアル化
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("file.obj"));
        out.writeObject(student);
        out.close();

        //オブジェクトの逆シリアル化
        ObjectInputStream in = new ObjectInputStream(new FileInputStream("file.obj"));
        Student newStudent = (Student) in.readObject();
        in.close();
    }
}
コードの実行

コードを実行するには、ターミナルで次のコマンドを実行します。

javac Main.java && java Main

まとめ

Java でクラスのオブジェクトを作成するには:

  1. プロパティを持つクラスを作成する。
  2. コンストラクタとともに new キーワードを使ってオブジェクトを作成する。
  3. 「Class」クラスの「newInstance()」メソッドを使ってオブジェクトを作成する。
  4. クラスの少なくとも 1 つのオブジェクトが既に作成されている場合、オブジェクトの「clone()」メソッドを使ってオブジェクトを作成する。
  5. シリアル化と逆シリアル化を使ってオブジェクトを作成する。