在类内的成员变量,成员方法,成员属性之前提添加了static修饰的成员成为类的静态成员,静态成员允许在不进行实例化对象的前提下进行使用。静态成员在程序开始运行时就被分配内存空间,在程序退出时释放内存空间,其与程序的生命周期的相同的。因此上,静态成员具有唯一性和全局性。需要注意的是:静态函数中不能调用非静态成员(因为非静态成员需要在对象实例化后才能调用),非静态函数中可以调用静态成员。而由const修饰的变量,也就是常量,其可被看做为特殊的静态变量,不同点在于,静态变量不需要初始化值,而常量需要初始化值,以及const必须在访问修饰符之后,而static则放在访问修饰符之前或之后均可。
namespace ConsoleApp6 { class Test { public const float G = 9.8f; //静态变量 static public float PI = 3.1415926f; public int testInt = 100; //静态函数 public static float CalcCircle(float r) { return PI * r * r; } public void TestFun() { Console.WriteLine("Hello, World!"); Console.WriteLine(PI); Console.WriteLine(CalcCircle(3)); } //静态属性 static public int TestInt { get { return TestInt; } set { TestInt = value; } } } class Program { static void Main(string[] args) { Console.WriteLine(Test.PI); Console.WriteLine(Test.CalcCircle(2)); } } }