一. 静态类
特点:
- 只包含静态成员。
- 无法进行实例化。
- 会进行密封。
- 不能包含实例构造函数。
注意:
- 程序中首次引用类之前初始化其字段并调用其静态构造函数。 静态构造函数只调用一次,在程序所驻留的应用程序域的生存期内,静态类会保留在内存中。
- 使用静态类的优点是编译器可以进行检查,以确保不会意外地添加任何实例成员。 编译器可保证无法创建此类的实例。
二. 静态方法
- 静态方法和属性无法在其包含类型中访问非静态字段和事件
- 它们无法访问任何对象的实例变量,除非在方法参数中显式传递它。
- 在首次访问静态成员之前以及在调用构造函数(如果有)之前,会初始化静态成员。
- 对静态方法的调用会采用 Microsoft 中间语言 (MSIL) 生成调用指令,而对实例方法的调用会生成 callvirt 指令,该指令还会检查是否存在 null 对象引用。 但是在大多数时候,两者之间的性能差异并不显著。
网友评论