首页 > 代码库 > 静态类和非静态类的主要区别

静态类和非静态类的主要区别

如有雷同,不胜荣幸,若转载,请注明

静态类和非静态类的主要区别

主要区别在于静态类不能实例化,静态类编译器能够执行检查确保不是偶然的添加实例成员,C#编译器会自动把它标记为sealed,静态类中不能创建非静态的方法。即静态方法中只能创建静态方法,但在非静态类中可以调用静态方法

静态类的主要特性:

1:仅包含静态成员。

2:无法实例化。

3:是密封的。

4:不能包含实例构造函数。

5:非静态类可以包含静态的方法、字段、属性或事件;

6:静态方法和属性不能访问其包含类型中的非静态字段和事件

7:静态方法只能被重载,而不能被重写,因为静态方法不属于类的实例成员;

8:C# 不支持静态局部变量(在方法内部定义静态变量)。

非静态类在使用时必须要实例化,每次使用时都要进行实例化,一般情况下使用比较频繁的类,可以使用静态类,比如LogClass,ConfigClass等等,个人总结,疏漏之处还请高手指点