1. 程式人生 > 其它 >java靜態方法是什麼

java靜態方法是什麼

在java中,靜態方法指被static修飾的成員方法。靜態方法不需要通過它所屬的類的任何例項就可以被呼叫,因此在靜態方法中不能使用this關鍵字,也不能直接訪問所屬類的例項變數和例項方法,但是可以直接訪問所屬類的靜態變數和靜態方法。
在java中,靜態方法指被static修飾的成員方法。靜態方法不需要通過它所屬的類的任何例項就可以被呼叫,因此在靜態方法中不能使用this關鍵字,也不能直接訪問所屬類的例項變數和例項方法,但是可以直接訪問所屬類的靜態變數和靜態方法。

  

本教程操作環境:windows7系統、java8版、DELL G3電腦。

靜態方法(或稱為類方法),指被 static 修飾的成員方法。

靜態方法與例項方法的區別:

靜態方法不需要通過它所屬的類的任何例項就可以被呼叫,因此在靜態方法中不能使用 this 關鍵字,也不能直接訪問所屬類的例項變數和例項方法,但是可以直接訪問所屬類的靜態變數和靜態方法。另外,和 this 關鍵字一樣,super 關鍵字也與類的特定例項相關,所以在靜態方法中也不能使用 super 關鍵字。

在例項方法中可以直接訪問所屬類的靜態變數、靜態方法、例項變數和例項方法。

示例:

建立一個帶靜態變數的類,新增幾個靜態方法對靜態變數的值進行修改,然後在 main( ) 方法中呼叫靜態方法並輸出結果。

 1 public class StaticMethod {
 2 
 3     public static int count = 1;    // 定義靜態變數count
 4 
 5     public int method1() {   
 6 
 7         // 例項方法method1
 8 
 9         count++;    // 訪問靜態變數count並賦值
10 
11         System.out.println("在靜態方法 method1()中的 count="+count);    // 列印count
12 
13         return count;
14 15 } 16 17 public static int method2() { 18 19 // 靜態方法method2 20 21 count += count; // 訪問靜態變數count並賦值 22 23 System.out.println("在靜態方法 method2()中的 count="+count); // 列印count 24 25 return count; 26 27 } 28 29 public static void PrintCount() {
30 31 // 靜態方法PrintCount 32 33 count += 2; 34 35 System.out.println("在靜態方法 PrintCount()中的 count="+count); // 列印count 36 37 } 38 39 public static void main(String[] args) { 40 41 StaticMethod sft = new StaticMethod(); 42 43 // 通過例項物件呼叫例項方法 44 45 System.out.println("method1() 方法返回值 intro1="+sft.method1()); 46 47 // 直接呼叫靜態方法 48 49 System.out.println("method2() 方法返回值 intro1="+method2()); 50 51 // 通過類名呼叫靜態方法,列印 count 52 53 StaticMethod.PrintCount(); 54 55 } 56 57 }

執行該程式後的結果如下所示:1 在靜態方法 method1()中的 count=2

2 
3 method1() 方法返回值 intro1=2
4 
5 在靜態方法 method2()中的 count=4
6 
7 method2() 方法返回值 intro1=4
8 
9 在靜態方法 PrintCount()中的 count=6

在該程式中,靜態變數 count 作為例項之間的共享資料,因此在不同的方法中呼叫 count,值是不一樣的。從該程式中可以看出,在靜態方法 method1() 和 PrintCount() 中是不可以呼叫非靜態方法 method1() 的,而在 method1() 方法中可以呼叫靜態方法 method2() 和 PrintCount()。

在訪問非靜態方法時,需要通過例項物件來訪問,而在訪問靜態方法時,可以直接訪問,也可以通過類名來訪問,還可以通過例項化物件來訪問。(拼多多培訓