静的メソッドとインスタンス メソッドの違いは、主に 2 つの側面に反映されます。
静的メソッドを外部から呼び出す場合は、「クラス」を使用できます。 name".メソッド名"メソッドの他に、"オブジェクト名.メソッド名"メソッドも使用できます。インスタンスメソッドには後者のメソッドしかありません。つまり、静的メソッドを呼び出すにはオブジェクトを作成する必要はありません。
静的メソッドがこのクラスのメンバーにアクセスする場合、静的メンバー (つまり、静的メンバー変数と静的メソッド) へのアクセスのみが許可されますが、インスタンス メンバーへのアクセスは許可されません。変数とインスタンス メソッド。;インスタンス メソッドにはこの制限はありません。
public class hasStaticMethod{ //定义一个静态方法 public static void callMe(){ System.out.println("This is a static method."); } }
public class invokeStaticMethod{ public static void main(String args[]){ hasStaticMethod.callMe(); //不创建对象,直接调用静态方法 hasStaticMethod oa = new hasStaticMethod(); //创建一个对象 oa.callMe(); //利用对象来调用静态方法 } }
This is a static method.This is a static method.
class accessMember{ private static int sa; //定义一个静态成员变量 private int ia; //定义一个实例成员变量 //下面定义一个静态方法 static void statMethod(){ int i = 0; //正确,可以有自己的局部变量sa = 10; //正确,静态方法可以使用静态变量 otherStat(); //正确,可以调用静态方法 ia = 20; //错误,不能使用实例变量 insMethod(); //错误,不能调用实例方法 } static void otherStat(){} //下面定义一个实例方法 void insMethod(){ int i = 0; //正确,可以有自己的局部变量 sa = 15; //正确,可以使用静态变量 ia = 30; //正确,可以使用实例变量 statMethod(); //正确,可以调用静态方法 } }
以上がJavaの静的メソッドとインスタンスメソッドの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。