

静态成员直接通过类名访问
静态构造函数,只能初始化静态成员




1
静态函数不能访问实例成员,仅能访问其他静态成员。


静态成员,静态类。
静态函数成员

静态成员将被类的所有实例共享,所有实例都访问同一内存位置

静态类和静态成员
1、类的静态成员
成员被标记为static时,就是静态成员。静态成员将会被类的所有实例共享,所有实例都访问统一内存位置。
静态成员跟实例成员分开存放。静态成员存放在堆中。class Dog{static int Num;}
2、静态成员访问
直接通过类名访问,普通成员需要通过实例访问。
3、静态成员声明周期
独立任何实例,没有实例也可以访问。静态成员使用之前编译器已经帮忙完成初始化。
4、静态函数不能访问实例成员,仅能访问其他静态成员,普通方法可以访问静态成员
5、静态构造函数
class Dog{static public void PrintNum(){Console.WriteLine(“Num=”+Num);}}用于初始化静态字段
在引用任何静态成员之前,和创建任何实例之前调用。
与类同名,使用static,无参数,没有访问修饰符,普通构造函数可以重载的.
静态函数只能访问静态成员,非静态函数可以访问静态/非静态成员
class Dog//类名
{static Dog()//静态构造函数,与类同名,无参数,无访问修饰符
{num=0;//只能访问静态成员
}
}
静态成员:标示为Static的字段,方法,和属性,构造函数,事件,就是静态成员。
静态成员将被类的所有实例共享,所有的实例都访问内存的同一内存位置。
静态成员的生存期独立于任何实例,没有实例也可以访问。
被标识为static的字段、属性、方法、构造函数、事件称为静态成员
静态成员将被类的所有实例共享,所有实例都访问同一内存位置(公共设施或公共财产)
都属于同一个类,但是同一世界的两类人,静态成员和实例成员分开保存
条件:
1、静态函数也独立于任何实例,没有实例也可以调用
2、静态函数不能访问实例成员(非静态成员),仅能访问其他静态成员
# 静态构造函数
静态构造函数用于初始化静态字段
在使用任何静态成员之前和创建任何实例之前调用
与类同名,使用static,无参数,无访问修饰符
关键字 static
将被类的所有实例共享,所有实例都访问同一内存位置



静态成员 。
普通成员必须new出一个对象来访问,静态成员将直接通过类名访问,和实例不再有直接关系。仅和整个类有关,不再和单独的对象挂钩。
静态成员和实例成员分开保存,静态成员单独存储在堆中。
静态成员将被类的所有实例共享,所有实例都访问同一内存位置。
静态构造函数
静态函数不能访问实例成员 但是实例成员可以访问静态成员
静态成员相当于共享同一个东西
静态构造函数
静态函数成员
静态成员如何被访问
静态字段所有实例共享
静态成员的作用
静态成员通过类名访问
静态成员:标识为static的字段,方法,属性,构造函数,事件,就是静态成员
静态成员将被类的所有实例共享,所有实例都访问同一内存位置。
静态成员将直接通过类名访问
类的静态成员:标识为static的字段、方法、属性、构造函数、事件就是静态成员。
静态函数:
1)静态函数也独立于任何实例,没有实例也可以调用。
2)静态函数不能访问实例成员,仅能访问其他静态成员。
静态构造函数:
1)静态构造函数用于初始化静态字段。(为静态成员而生)
2)在引用任何静态成员之前,和创建任何实例之前调用
3)与类同名,使用static,无参数,无访问修饰符
静态成员:





静态函数也独立于任何实例,没有实例也可以调用;不能访问实例成员,仅能访问其他静态成员。(实例成员可以访问静态成员)
静态构造函数:
1、静态构造函数用于初始化静态字段;
2、在引用任何静态成员之前,和创建任何实例之前调用;
3、与类同名,使用static,无参数,无访问修饰符。