静态构造函数

it2024-11-25  17

写在前面的话

对于构造函数,我们都很熟悉,用于在实例化类的时候,使用new关键字,new出一个实例来供使用。

那么对于静态构造函数,充当的是什么角色呢,它和非静态构造函数有什么区别呢?它又有什么好处呢?

描述

静态构造函数用于初始化任何静态数据(静态方法里只能引用静态字段,静态构造函数也属于静态方法的一种)。

静态构造方法在创建第一个实例或引用类的静态变量之前,会自动调用静态构造函数。

特点:

1.静态构造函数没有修饰符,也没有参数

2.静态构造方法无法继承,且无法手动调用

3.无参数的静态构造函数可以和无参数的非静态函数共存(尽管方法前面相同,但是一个属于类,一个属于实例)

4.如果类中含有带初始值的静态成员,那么编译器会生成默认的静态构造函数

典型应用:

当类使用日志文件时,可以使用这种构造函数,向其中写入日志。

示例:

public class Person { static string name = "张三"; static Person() { /* * 如果注释下面的话 * 则GetName方法返回 张三 * 否则返回 李四 */ name = "李四"; } public string GetName() { return Person.name; } }

我们来新建一个Student类,让它继承自Person类,看看GetName方法会出现得到什么呢?

public class Student : Person { } public class Student : Person { public Student() : base() { } } 注意: 如果有子类继承自带静态构造方法的类时,子类必须有空构造函数,否则会报错。

转载于:https://www.cnblogs.com/oneword/archive/2013/01/12/2857628.html

最新回复(0)