はじめに
Javaでは、オブジェクトを作成することは、オブジェクト指向プログラミング(OOP)の基本概念であり、クラスのブループリントを使用できるようにします。オブジェクトは現実世界のエンティティを表し、現実世界のエンティティと同じようなプロパティを持っています。この実験では、クラスのオブジェクトを作成する方法を学びます。
Javaでは、オブジェクトを作成することは、オブジェクト指向プログラミング(OOP)の基本概念であり、クラスのブループリントを使用できるようにします。オブジェクトは現実世界のエンティティを表し、現実世界のエンティティと同じようなプロパティを持っています。この実験では、クラスのオブジェクトを作成する方法を学びます。
最初のステップは、プロパティを持つエンティティを表すクラスを作成することです。たとえば、「Car」という名前のクラスを作成して、色、ブランド名、燃料タイプなどのプロパティを持つ自動車の現実世界のエンティティを表現しましょう。
public class Car {
private String carColor;
private String brand;
private String fuelType;
public void start() {
//自動車を起動するコード
}
public void stop() {
//自動車を停止するコード
}
}
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
オブジェクトは、「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
クラスの少なくとも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でクラスのオブジェクトを作成するには: