logo

Java の静的メソッドとインスタンス メソッド

Java では、メソッドはクラスとオブジェクトの動作を定義します。静的メソッドとインスタンス メソッドの違いを理解することは、クリーンで効率的なコードを作成するために不可欠です。

JavaScript文字列置換

静的メソッドとは何ですか?

静的メソッド 特定のオブジェクトではなくクラスに属します。

  • クラスのインスタンスを作成せずに呼び出すことができます。
  • 静的メソッドはオブジェクト固有であるため、静的メンバー (データとメソッド) にのみアクセスでき、非静的メンバーにはアクセスできません。
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

出力
Hello Geek! Hello Geek! 

説明: 上の例は、Geeks クラス内の静的メソッドgreet() を示しています。静的メソッドはオブジェクトを作成せずに呼び出すことができます。メインメソッドでは、Geek クラスのオブジェクトを作成せず、Geeks というクラス名でメソッドを直接呼び出し、出力を出力しています。



インスタンスメソッドとは何ですか?

アン インスタンスメソッド オブジェクトに属します。

  • 呼び出すクラスのインスタンスを作成する必要があります。
  • インスタンス変数、他のインスタンス メソッド、およびクラスの静的メンバーにアクセスできます。
  • にアクセスできる this参照 これは現在のオブジェクトを指します。
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

出力
GeeksforGeeks 

説明: 上の例は、Java でインスタンス メソッドを使用する方法を示しています。 Test クラスのオブジェクトを作成し、テスト メソッドを呼び出して値を設定し、出力を出力しています。

静的メソッドとインスタンスメソッドの違い

次の表に、  Java の静的メソッドとインスタンス メソッドの主な違い。

特徴

静的メソッド

インスタンスメソッド

意味

static キーワードを使用して作成され、オブジェクトを作成せずに取得されます。

そのクラスのオブジェクトを呼び出す必要があります。

アクセス

静的変数とメソッドのみにアクセスしてください。

静的メンバーとインスタンス メンバーの両方にアクセスできます。

this キーワード

は使用できません これ 静的メソッド内のキーワード。

this キーワードを使用して現在のオブジェクトを参照できます。

オーバーライド

実行時ポリモーフィズムをサポートしません

ランタイムポリモーフィズムをサポート

メモリの割り当て

クラスごとに 1 回ロードされる

各オブジェクトには独自のコピーがあります


クイズの作成