回覆列表
-
1 # 使用者8967336010328
-
2 # 環滁皆山野
static與sub區別:像在VB,C#,C,C++,Java,PHP,Objective-C,JavaScript中我們可以看到static作為關鍵字和函數出現。
在其他的高階計算機語言如FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、PROLOG、
Ada等語言中也是有出現的,只是有著不同的作用,對於其具體作用,讀者有需要的時候是可以具體查閱的。
-
3 # 1234567啊額
一、static關鍵字是什麼意思?
static關鍵字表示靜態的意思,用於修飾成員變數和成員函式。表示可以在沒有類的例項的情況下,用類名.變數名或者類名.函式名,進行訪問
二、java中是否可以覆蓋(override)一個private方法或者static方法
都不能
覆蓋,也就是我們常說的重寫,是子類繼承父類,且子類中的方法和父類中的方法,方法名相同,引數個數和型別相同,返回值相同。
private修飾的方法,不能被繼承,所以也不存在重寫(覆蓋)
static修飾的方法,是靜態方法,在編譯時就和類名就行了繫結。而重寫發生在執行時,動態繫結的。何況static方法,跟類的例項都不相關,所以概念上也適用。
static作用:
1、修飾函式的區域性變數:
特點:有預設值0,只執行一次,執行一開始就開闢了記憶體,記憶體放在全域性
2、修飾全域性函式和全域性變數:
特點:只能在本原始檔使用
3、修飾類裡面的成員變數:
特點:和1差不多,定義多個static y,但只有一個y,不進入類的大小計算,不依賴於類物件的存在而存在(可直接呼叫,要進行外接宣告)
4、修飾類的成員函式:
特點:f():括號裡無this指標,只能呼叫他的本類靜態函式和他的靜態變數,即是用static修飾過的不依賴於類物件的存在而存在(可不進行外接宣告,直接呼叫)