#Java は C と同じです。 static キーワードがクラス メソッドの前に追加される場合、そのメソッドは静的メソッドと呼ばれます。それ以外の場合は、インスタンス メソッドと呼ばれます。
静的メソッドはクラスによって所有され、オブジェクトまたはクラスを通じて使用できます。
ただし、クラスが定義されていれば静的メソッドを使用でき、クラスのインスタンスを作成する必要がないため、通常はクラス名を介して使用することをお勧めします。
静的メソッドとインスタンス メソッドの違いは、主に次の 2 つの側面に反映されます:
1. 静的メソッドを外部から呼び出す場合、「##」を使用できます。 # 「クラス名.メソッド名」のメソッドも使用可能 「オブジェクト名.メソッド名」のメソッドも使用可能インスタンスメソッドには後者のメソッドしかありません。つまり、静的メソッドの呼び出しにはオブジェクトを作成する必要はありません。
2.静的メソッドがこのクラスのメンバーにアクセスする場合、静的メンバー (つまり、静的メンバー変数と静的メソッド) へのアクセスのみが許可され、インスタンス メンバー変数とインスタンス メソッドへのアクセスは許可されません。 ; インスタンス メソッドにはこの制限はありません。
静的メソッドは静的メンバーにのみアクセスでき、インスタンス メソッドは静的メンバーとインスタンス メンバーにアクセスできます。
静的メソッドがインスタンス メンバー変数にアクセスできない理由は、インスタンス メンバー変数は特定のオブジェクトに属しており、静的メソッドの実行時にそのオブジェクトが存在するとは限らないためです。 同様に、インスタンス メソッドはインスタンス メンバー変数にアクセスできるため、静的メソッドがインスタンス メソッドの呼び出しを許可されている場合、インスタンス メンバー変数の使用が間接的に許可されるため、インスタンス メソッドを呼び出すことはできません。同じ理由に基づいて、キーワード this は静的メソッドでは使用できません。
以上が静的メソッドJavaとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。