类的静态成员
我们可以使用 static 关键字把类成员定义为静态的。当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。关键字 static 意味着类中只有一个该成员的实例。静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。静态变量可在成员函数或类的定义外部进行初始化。
using System;
namespace StaticVarApplication
{
class StaticVar
{
public static int num; //定义静态变量
public void count()
{
num++;
}
public static int getNum() //定义静态方法
{
return num;
}
}
class StaticTester
{
static void Main(string[] args)
{
StaticVar s1 = new StaticVar(); //类的声明与初始化
StaticVar s2 = new StaticVar();
s1.count();
s1.count();
s1.count();
s2.count();
s2.count();
s2.count();
Console.WriteLine("s1 num: {0}", StaticVar.getNum());//静态方法调用
Console.WriteLine("s2 num: {0}", StaticVar.getNum());
}
}
}
结果s1与s2的值是不是不一样呢,去试一试吧。
也可以把一个成员函数声明为 static。这样的函数只能访问静态变量。静态函数在对象被创建之前就已经存在。如上例中的getNum()函数。