根据MSDN
“一个类可以声明为static,表示它只包含 静态成员。无法创建静态实例 使用new关键字的类。静态类会自动加载 由.NET Framework公共语言运行时(CLR)程序时 或者加载包含该类的命名空间。“
在对它进行一些研究之后,我发现静态类不包含实例构造函数。我不明白为什么静态类不包含实例构造函数以及static关键字的用途。为什么.Net不允许我们创建静态类的实例?
答案 0 :(得分:7)
静态类不包含任何实例成员属性或函数。因此,制作一个实例毫无意义。
静态类用于包含在整个程序中具有相同效果的变量,属性和函数。
例如,您可以拥有“设置”类。
具有所有静态属性。
访问它时(通过静态构造函数) 如果找不到文件,则自动从磁盘加载设置文件或重置为默认设置。
现在你可以从你的整个程序中调用
来访问这个类您甚至可以创建一个功能
这样做的好处是,您的所有设置都会分组到一个位置,并且您设置的所有逻辑都放在一个位置。您将始终知道,无论您在何处调用它,只有一个设置类的实例
我希望这会有所帮助
答案 1 :(得分:2)
当我们将类设为静态时,Compiler保证不能创建此类的实例(静态类)。因此这些方法与代码中类的特定对象无关。
静态类不能包含实例构造函数,但可以包含不带访问修饰符的静态构造函数。 在创建第一个实例之前,将自动调用静态构造函数来初始化类。
静态类是密封类,因此不能继承。
您可以使用类型名称而不是引用来访问静态成员。