在java中,靜態方法指被static修飾的成員方法。靜態方法不需要透過它所屬的類別的任何實例就可以被調用,因此在靜態方法中不能使用this關鍵字,也不能直接存取所屬類別的實例變數和實例方法,但是可以直接存取所屬類別的靜態變量和靜態方法。
本教學操作環境:windows7系統、java8版、DELL G3電腦。
靜態方法(或稱類別方法),指被 static 修飾的成員方法。
靜態方法與實例方法的區別:
靜態方法不需要透過它所屬的類別的任何實例就可以被調用,因此在靜態方法中不能使用this 關鍵字,也不能直接存取所屬類別的實例變數和實例方法,但可以直接存取所屬類別的靜態變數和靜態方法。另外,和 this 關鍵字一樣,super 關鍵字也與類別的特定實例相關,所以在靜態方法中也不能使用 super 關鍵字。
在實例方法中可以直接存取所屬類別的靜態變數、靜態方法、實例變數和實例方法。
範例:
建立一個帶有靜態變數的類,新增幾個靜態方法對靜態變數的值進行修改,然後在main ( ) 方法中呼叫靜態方法並輸出結果。
public class StaticMethod { public static int count = 1; // 定义静态变量count public int method1() { // 实例方法method1 count++; // 访问静态变量count并赋值 System.out.println("在静态方法 method1()中的 count="+count); // 打印count return count; } public static int method2() { // 静态方法method2 count += count; // 访问静态变量count并赋值 System.out.println("在静态方法 method2()中的 count="+count); // 打印count return count; } public static void PrintCount() { // 静态方法PrintCount count += 2; System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count } public static void main(String[] args) { StaticMethod sft = new StaticMethod(); // 通过实例对象调用实例方法 System.out.println("method1() 方法返回值 intro1="+sft.method1()); // 直接调用静态方法 System.out.println("method2() 方法返回值 intro1="+method2()); // 通过类名调用静态方法,打印 count StaticMethod.PrintCount(); } }
執行程式後的結果如下所示:
在静态方法 method1()中的 count=2 method1() 方法返回值 intro1=2 在静态方法 method2()中的 count=4 method2() 方法返回值 intro1=4 在静态方法 PrintCount()中的 count=6
在該程式中,靜態變數count 作為實例之間的共享數據,因此在不同的方法中呼叫count,值是不一樣的。從該程式中可以看出,在靜態方法 method1() 和 PrintCount() 中是不可以呼叫非靜態方法 method1() 的,而在 method1() 方法中可以呼叫靜態方法 method2() 和 PrintCount()。
在訪問非靜態方法時,需要透過實例物件來訪問,而在存取靜態方法時,可以直接訪問,也可以透過類別名稱來訪問,也可以透過實例化物件來存取。
相關影片教學推薦:Java影片教學
#以上是java靜態方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!