首頁  >  文章  >  Java  >  java靜態方法是什麼

java靜態方法是什麼

青灯夜游
青灯夜游原創
2021-07-26 11:49:1727923瀏覽

在java中,靜態方法指被static修飾的成員方法。靜態方法不需要透過它所屬的類別的任何實例就可以被調用,因此在靜態方法中不能使用this關鍵字,也不能直接存取所屬類別的實例變數和實例方法,但是可以直接存取所屬類別的靜態變量和靜態方法。

java靜態方法是什麼

本教學操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn