C# 调用基类构造函数的一点小笔记

如上,结果是 3,说明派生类没有构造函数,也会使用默认的构造函数,且会调用基类默认的构造函数。(默认的构造函数就是没有参数的构造函数)

如上,结果仍是 3,说明派生类的构造函数没有显式调用基类默认的构造函数,它也会自动调用的。

还有更多示例不写了,直接看总结吧。

总结:

如果类中没有写明构造函数,系统会当作存在一个无参数的构造函数。

一旦写了一个带参数的构造函数,而没有写无参数的构造函数,系统就不会添加这个无参数的构造函数,即它会认为无参数的构造函数不存在。

如果派生类没有显式调用基类构造函数,系统会当作调用的是基类无参数的构造函数(如果找不到,就通不过编译)

先执行基类的构造函数,再执行派生类的构造函数。

基类的构造函数显式调用不同于其他方法,它是跟在方法头后面,而不是在方法体 {} 中,示例:public D():base(123) {}

你可能感兴趣的