java靜態方法是什么


在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()。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM