static 與非static修飾的區別

2021-10-12 02:20:53 字數 547 閱讀 9976

請簡述static 與非static修飾的區別

作用在方法上,方法的區別:static方法屬於類,不屬於類的例項物件,而非static方法屬於類的例項物件,不屬於類,static方法不需要例項物件就可以通過類名呼叫,且static方法中不能有例項成員(即例項方法或例項變數),而非static方法中可以以後static成員(即static方法,和static變數)

作用在變數上:static變數屬於類,非static變數屬於例項物件或者是區域性變數,static變數可以用類名引用,而非static方法只能建立這個類的例項物件才能引用(即使用).

作用在類上: static類中知只能有static成員,不能有非static成員,而非static類可以由static成員也可以有非static成員.

總結,static修飾的方法,變數都屬於該類本身,是該類所有,該類的例項也可以訪問static修飾的成員,但是不同例項物件中訪問的static成員是同乙個(在同一程式中)…所以說static成員在乙個程式中是獨一無二的,他屬於類,而類在程式中只能有乙個類(可以由多個類的例項物件),所以程式中的static成員永遠是同乙個!

static與非static的區別

關於static和非static變數的區別。1.static 修飾的變數稱為類變數或全域性變數或成員變數,在類被載入的時候成員變數即被初始化,與類關聯,只要類存在,static變數就存在。非static修飾的成員變數是在物件new出來的時候劃分儲存空間,是與具體的物件繫結的,該成員變數僅為當前物件所...

JAVA之static與非static區別

關於static和非static變數的區別。static 修飾的變數稱為類變數或全域性變數或成員變數,在類被載入的時候成員變數即被初始化,與類關聯,只要類存在,static變數就存在。非static修飾的成員變數是在物件new出來的時候劃分儲存空間,是與具體的物件繫結的,該成員變數僅為當前物件所擁有...

static成員和非static成員

1.靜態成員 1 所有的static方法不允許呼叫非static定義的屬性或方法,因為靜態函式成員屬於類的成員,例項成員變數是屬於某個物件的,而靜態方法在執行時,並不一定存在物件,但是靜態方法可以使用靜態變數 2 描述共享屬性,只需在屬性前新增static關鍵字即可,建立乙個類的多個例項,其stat...