龙空技术网

你了解静态构造函数吗

SamuelZHJ 73

前言:

此时小伙伴们对“静态类可以被继承吗”大体比较注重,看官们都想要分析一些“静态类可以被继承吗”的相关资讯。那么小编在网摘上搜集了一些有关“静态类可以被继承吗””的相关文章,希望你们能喜欢,我们快快来学习一下吧!

在最近的开发过程中,经常需要静态字段记录一些公共常量,如果我们需要读取配置文件(比如yaml文件)然后赋值给静态字段或者属性。此时就需要用到静态构造函数来对静态属性初始化。那么静态构造函数是什么时候被调用呢?

静态构造函数的特点可以用来初始化任何静态的数据最多只会执行一次执行过程中,出现异常将不会重复执行一个类有且只有一个静态构造函数静态构造函数不能使用修饰符,不能带有参数静态构造函数的逻辑是线程安全的,无需加锁静态类不能被继承,静态类是密封的静态构造函数的执行时机

静态构造函数是由CLR调用的,调用的时机是当静态类的成员变量被使用的时候。

运行结果:

从运行结果看,静态构造函数在成员变量被使用前初始化,并且只会执行一次

静态构造函数的执行顺序静态字段初始化(默认值)基类静态字段初始化基类构造函数运行静态构造函数运行

参考文档:

标签: #静态类可以被继承吗