c#中static关键字的用法

一,用法总结:

在c#中,static关键字可用 1)声明静态类。2)声明静态方法。3)声明静态成员。4)声明静态构造函数

1)声明静态类

1.1)类前加static关键字声明静态类

1.2)静态类内部 只能声明 静态成员变量,静态属性,静态方法(非静态的不能声明)。

编译器提示错误
编译器提示错误

1.4)静态类只能包含静态构造函数(不能包含实例构造函数)

编译器提示错误
正常编译

1.5)静态类只能包含静态构造函数, 声明时前面不能带访问修饰符 ,声明示例:static className(){}。

编译器提示错误
编译正常

1.6)静态类可以不创建类的实例而直接访问静态成员,提高了代码的灵活性和可维护性。

2)声明静态方法

1)this关键字在静态方法中不能使用。

编译器提示错误

2)静态方法可以在静态类中声明,也可以在非静态类中声明。

非静态类中声明
静态类中声明

3)声明静态成员

3.1)通过static关键字修饰

编译器提示错误
编译正常

4)声明静态构造函数

1)静态类和非静态类都可以声明静态构造函数。

静态类中声明
非静态类中声明

2)静态构造函数,当创建类实例或引用任何静态成员之前,静态构造函数被自动优先于无参构造函数先执行,并且只执行一次。

3)静态构造函数必须无参数

特别注意点:
5)静态类和非静态类的区别总结:
1)静态类内部只能声明静态成员变量,静态属性,静态方法
2)非静态类内部可以包含静态的方法、字段、属性或事件,也可以声明非静态的方法、字段、属性或事件;
3)静态类无法实例化,可以直接 类名.方法名,类名.成员名等方式调用
4)非静态类可以实例化,需要实例化对象调用成员方法,成员变量等。