static關鍵字的使用

2021-07-25 11:05:53 字數 809 閱讀 4173

先上例子:

public class cat

public void info()

public static void main(string arg)

}

例子中沒有使用static關鍵字,在執行時,cat.sid=100;會報錯,顯示錯誤資訊為cannot make a static reference to the non-static field cat.sid。

這是因為在主方法中使用了static關鍵字來宣告,該方法就是靜態方法,在呼叫時,不再針對某個物件呼叫,也就不會將物件的引用傳遞給它,所以在static方法中不可訪問非static的成員變數。

例子中sid專屬於某個物件的,只有例項化出某個物件後,該物件才會具有sid,若不例項化,則這個物件就不存在,該sid就不能使用。於是就可引出static關鍵,修改如下。

public class cat

public void info()

public static void main(string arg)

}

在類中,只需將sid用static宣告為靜態成員變數,它為該類的公有變數,在第一次使用時被初始化,對於該類的所有物件來說,static成員變數只有乙份。靜態方法不會針對某個物件,沒有物件照樣可以呼叫。(類.方法名即cat.靜態方法名,不用寫物件的名字,)也正因此,在static方法中不能訪問非靜態(非static)成員,上述例子的執行結果為:

my name is mimi no.100

my name is pipi no.101

使用static關鍵字

在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...

使用static關鍵字

在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...

static關鍵字使用

版本 v1.0 public class study 6 1 class person4 靜態使用注意事項 1.靜態方法只能訪問靜態成員 非靜態的方法既可以訪問靜態也可以訪問非靜態 這點注意先後順序就可以理解 2.靜態方法中不可以定義this,super等關鍵字 因為靜態優先於物件存在。所以靜態方法...