浅谈静态变量和类
一、静态类
静态类的主要特性:
1:无法实例化。
2:静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化。
3:不能包含实例构造函数。
4:如果一个类下面的所有成员,都需要被共享,那么可以把这个类定义为静态类。
二、静态变量
(1)静态局部变量在函数内定义,但不像自动那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,因为它的生存期为整个源程序。
(2)允许对构造类静态局部量赋初值。若未赋以初值,则由系统自动赋值。数值型变量自动赋初值0,字符型变量赋空字符。
(3)对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。 离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。 因此,当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。
(4)静态变量其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。
静态变量定义存储例子:
using System; using System.Collections.Generic; using System.Linq; using System.Text; public class Class1 { //单位ID static string Aid { get; set; } public string GetAID() { return Aid; } public bool SetAId(string AId) { try { Aid = AId; return true; } catch { return false; } } }