Java でオブジェクトをインスタンス化する
Hiten Kanwar
2023年10月12日
Java では、オブジェクトはクラスのインスタンスと呼ばれます。たとえば、car
という名前のクラスを想定すると、SportsCar
、SedanCar
、StationWagon
などがこのクラスのオブジェクトと見なされます。
このチュートリアルでは、Java でオブジェクトをインスタンス化する方法について説明します。
new
キーワードを使用して、Java でクラスのインスタンスを作成できます。オブジェクトはクラスのインスタンスであり、メソッドではないため、Java でメソッドをインスタンス化しないことに注意してください。メソッドは、クラスが持つ単なる動作です。
あるクラスのオブジェクトを作成することで、別のクラスを介してそのパブリックメソッドにアクセスできます。以下のコードのように、最初のクラスで 2 番目のクラスのインスタンスを作成してから、最初のクラスで 2 番目のクラスのメソッドを使用します。
// creating a class named first
public class First {
public static void main(String[] args) {
Second myTest = new Second(1, 2); // instantiating an object of class second
int sum = myTest.sum(); // using the method sum from class second
System.out.println(sum);
}
}
// creating a class named second
class Second {
int a;
int b;
Second(int a, int b) {
this.a = a;
this.b = b;
}
public int sum() {
return a + b;
}
}
出力:
3
あるクラスのメソッドに同じクラスの別のメソッドでアクセスする場合、メソッドが static
と宣言されていれば、オブジェクトをインスタンス化する必要はありません。
例えば、
public class Testing {
private static int sample(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int c = sample(1, 2); // method called
System.out.println(c);
}
}
出力:
3
上記の例では、両方のメソッドが同じクラスであり、sample()
が static
として宣言されているため、メソッド sample()
を呼び出すことができます。したがって、オブジェクトは必要ありません。
ただし、以下に示すように、両方のメソッドが同じクラスの場合でも、オブジェクトのインスタンス化を実行できます。メソッドが static
として宣言されていない場合に実行されます。
以下のコードを参照してください。
public class Testing {
private int Sample() {
int a = 1;
int b = 2;
int c = a + b;
return c;
}
public static void main(String[] args) {
Testing myTest = new Testing();
int result = myTest.Sample();
System.out.println(result);
}
}
出力:
3