1. 靜態成員屬於類所有,非靜態成員屬於類的例項所有,即使用靜態成員不需要例項化
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace mystatic
}
public class person
set
}
}
}
2.每建立乙個例項,都會為每個非靜態成員分配乙個記憶體空間,非靜態成員為類所有,為各個類的例項所公用;但是無論建立了多少個例項,類的靜態成員在記憶體中占用同一塊區域。
3.靜態方法和靜態成員一樣,也是屬於類所有,不用建立類的例項,就可以直接使用
4.非靜態方法,可以訪問類中的所有成員;但是靜態方法,只能使用類中的靜態成員----因為靜態方法在類例項化之前就可以使用,但是非靜態成員必須在類例項化之後,才分配記憶體空間,這樣靜態方法呼叫是,無法判斷非靜態變數使用的記憶體位址,多以無法使用,而靜態成員的位址對類來說是固定的,所以可以使用。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace mystatic
}
public class person
set
}
private string name;
public string name
set
}
public static void sayhello1()
歲了", person.age);
//靜態方法可以呼叫靜態變數
}public static void sayhello2(string s)
",this.name);
}
}
}
C 靜態成員 靜態方法 靜態類
c 靜態方法與非靜態方法的區別不僅僅是概念上的,那麼他們有什麼具體的區別呢?讓我們通過本文向你做一下解析。c 的類中可以包含兩種方法 c 靜態方法與非靜態方法。那麼他們的定義有什麼不同呢?他們在使用上會有什麼不同呢?讓我們來看看最直觀的差別 使用了static 修飾符的方法為靜態方法,反之則是非靜態...
抽象方法抽象類 靜態類靜態方法靜態成員
一 抽象類和抽象方法 用abstract修飾的方法稱為抽象方法 含有抽象方法的類必須定義為抽象類 只是當做派生類的基類來使用 抽象的特徵 抽象方法只做宣告,不能包含具體實現 抽象方法旨在被繼承之後使用,所以不能用 private來修飾 2,抽象類不能被直接例項化 不能用new建立 3,抽象類可以沒有...
靜態類 靜態方法 靜態成員和例項成員的比較
任何專案中都會使用到靜態類 靜態方法 靜態成員和例項成員了。那麼這幾個名詞到底有哪些區別呢?所以例項成員的存在必須要有物件例項的存在,如果物件例項都不存在了,那麼就將無法訪問 而靜態成員只是依賴於類的存在與否,也就無需宣告和例項化物件了。如下方這段示例 class program class mys...