静态成员函数
特点:
① 、静态成员函数与类相联系,不与类的对象相联系。
② 、静态成员函数不能访问非静态数据成员。原因很简单,非静态数据成员属于特定的类实例。
作用:主要用于对静态数据成员的操作。
调用形式:
① 、类对象名.静态成员函数名()
static静态变量的实例与分析
实例:
namespace teststatic
{
class class1
{
static int i = getNum();
int j = getNum();
static int num = 1;
static int getNum()
{
return num;
}
static void Main(string[] args)
{
Console.WriteLine("i={0}",i);
Console.WriteLine("j={0}", new class1().j);
Console.Read();
}
}
}
现在分析上面的代码:
复制代码 Console.WriteLine(string.Format("i={0}",i)); 这里i是static变量,而且类class1是第一次被引 用,要先为class1里面所有的static变量分配内存。尽管现在有超线程技术,但是指令在逻辑还是一条一条的按顺序执行的,所以 先为static int i分配内存,并且在该内存中保持int的缺省值0,接着再为static int num 变量分配内存,值当然也为0。
然后执行第二步,为变量赋值:先为static int i变量赋值,i=getNum(),看getNum里面的代码,就是return num,这个时候num的值是0,于是i就为0了。然后对变量num赋值,num=1;这行代码执行后,num就为1了。
所以最后的结果为:
i=0 j=1
希望本文所述对大家的C#程序设计有所帮助。










