靜態方法在建立物件前就可以使用了,非靜態方法必須通過new出來的物件呼叫。
如:public class per
public string getname()
}上面這個類中的gettype方法,在沒有new物件前這就可以這樣用:
string type=per.gettype();//type="人類";
而getname方法則不能這樣使用,編譯都不會通過
getname必須這樣:
per p=new per();
string name=p.getname();//name="張三";
當然,gettype方法也可能通過物件呼叫:
string type=p.gettype();//type="人類";
綜上所述:
靜態方法是在建立例項之前就存在了,而非靜態方法是在建立物件之後才有的。
靜態**塊和非靜態**塊的區別
靜態**塊,在虛擬機器載入類的時候就會載入執行,而且只執行一次;
非靜態**塊,在建立物件的時候(即new乙個物件的時候)執行,每次建立物件都會執行一次
靜態方法與非靜態方法
靜態類 在類 class 上加入static修飾,表示該類無法被例項化,並且該類中,無法例項化變數或函式。那麼如果要在此靜態類中新增函式 變數 屬性,則必須都是靜態的。靜態類的主要特性 1 僅包含靜態成員。2 無法例項化。3 靜態類的本質,是乙個抽象的密封類,所以不能被繼承,也不能被例項化。4 不能...
靜態方法與非靜態方法
c 的類中可以包含兩種方法 c 靜態方法與非靜態方法。讓我們來看看最直觀的差別 使用了static 修飾符的方法為靜態方法,反之則是非靜態方法。下面我們分四個方面來看看c 靜態方法與非靜態方法的差異 c 靜態方法與非靜態方法比較一 c 靜態成員 靜態成員屬於類所有,非靜態成員屬於類的例項所有。每建立...
靜態方法與非靜態方法區別
c 靜態方法與非靜態方法的區別不僅僅是概念上的,那麼他們有什麼具體的區別呢?讓我們通過本文向你做一下解析。c 的類中可以包含兩種方法 c 靜態方法與非靜態方法。那麼他們的定義有什麼不同呢?他們在使用上會有什麼不同呢?讓我們來看看最直觀的差別 使用了static 修飾符的方法為靜態方法,反之則是非靜態...