- 如果在类中定义了有参的构造函数,编译器就不会再生成无参的构造函数。此时若需要调用无参构造函数,需要在类中定义,否则编译器会报错
- :base 默认调用的是基类的构造函数,要保证其参数与基类构造函数一致。 默认情况下,派生类new 一个对象时,先去调用基类构造函数。
- 编译器将首先基类的构造函数,再调用派生类的构造函数。,如果基类没有显示的构造函数,则调用其默认的无参构造函数。
测试代码:
using System;
namespace baseTest21
{
class Program
{
static void Main(string[] args)
{
//string str = DateTime.Now.AddDays(-1 * count).ToString("yyyy-MM-dd");
Student st = new Student();
DateTime birthdate = new DateTime(2003, 5, 28);
Student st2 = new Student("lily",birthdate);
goodStudent goodst = new goodStudent();
goodStudent goodst2 = new goodStudent("harfla");
goodStudent goodst3 = new goodStudent("david",new DateTime(1990,6,18) ,"Tqing");
Console.ReadLine();
}
}
public class Student
{
protected int Age;
public string Name;
public DateTime birthDate;
p