Java でオブジェクトをインスタンス化する

Hiten Kanwar 2023年10月12日
Java でオブジェクトをインスタンス化する

Java では、オブジェクトはクラスのインスタンスと呼ばれます。たとえば、car という名前のクラスを想定すると、SportsCarSedanCarStationWagon などがこのクラスのオブジェクトと見なされます。

このチュートリアルでは、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

関連記事 - Java Object