靜態函式

靜態函式

函式調用的結果不會訪問或者修改任何對象(非static)數據成員,這樣的成員聲明為靜態成員函式比較好。且如果static int func(....)不是出現在類中,則它不是一個靜態成員函式,只是一個普通的全局函式,只不過由於 static 的限制,它只能在檔案所在的編譯單位內使用,不能在其它編譯單位內使用。

基本介紹

  • 中文名:靜態函式
  • 性質:函式
  • 屬性:靜態
  •  所屬類別:數學
注意事項,Static關鍵字,

注意事項

靜態成員函式的聲明除了在類體的函式聲明前加上關鍵字static,以及不能聲明為const或者volatile之外,與非靜態成員函式相同。出現在類體之外的函式定義不能制定關鍵字static。
靜態成員函式沒有this指針

Static關鍵字

在類中,用static聲明的成員變數靜態成員變數,它為該類的公用變數,在第一次使用時被初始化,對於該類的所有對象來說,static成員變數只有一份。
用static聲明的方法是靜態方法,在調用該方法時,不會將對象的引用傳遞給它,所以在static方法中不可訪問非static的成員
##靜態方法不再是針對於某個對象調用,所以不能訪問非靜態成員
可以通過對象引用或類名(不需要實例化)訪問靜態成員
java:::
public class Cat
{
private static int sid = 0;
private String name;
int id;
Cat(String name)
{
= name;
id = sid++;
}
public void info()
{
System.out.println
("My name is "+name+" No."+id);
}
public static void main(String arg[])
{
Cat.sid = 100;
Cat mimi = new Cat("mimi");
mimi.sid = 2000;
Cat pipi = new Cat("pipi");
}
}
如果某些成員函式只訪問靜態數據成員,那么最好把他們聲明為靜態的成員函式,因為這樣不需要特定的對象就可以訪問這些成員變數了。

相關詞條

熱門詞條

聯絡我們