C#关键字static
静态字段
1.静态字段被所有类的实例共享,所有实力都访问内存的同一位置。一旦一旦某个实例改变了该字段的值,其他所有的实例该值都会发生变化。
2.即使没有实例化类,类中的静态字段依然存在,并可以访问。
如果静态字段有初始化语句,那么初始化语句会在调用该字段之前执行。没有必要刻意的在启动时执行初始化。
静态函数
1.静态函数成员独立于任何实例。即使没有类的实例,依然可以调用静态方法。(静态成员属于类,而非静态成员属于类的实例)
2.静态函数成员不能访问实例成员。然而,可以访问其他静态成员。
3.每一个线程在同一时间访问的静态方法都是不同的,因此静态方法在多线程调用中不会产生冲突。
可以理解为静态函数自从他被调用就被存在于内存中。以上的2不能访实例成员,应该理解为不能访问还未实例化的非静态方法,就是说对象可能还不存在。
对于3,静态方法没有引用公共变量,可以参考DateTime.Now()。