1.子类实例化前,会先调用父类默认的午餐构造函数,除非子类构造函数已指定调用哪个父类构造函数。如果继承是多层的,则依次调用紧邻父类构造函数。
如:C->B->A;new C(); A()->B->C();
2.(1).类静态成员初始化在静态构造函数(如果有)前执行。
(2).类实例成员初始化在实例构造函数前执行。
(3).紧邻父类(如果有)实例构造函数在子类实例构造函数前执行。
3.父类类型指向子类实例,如果是虚方法,则从其实例真实类型向上找覆盖过该方法的类的实现并调用,如果所调用方法被其子类覆盖过;如果方法非虚,则调用声明类型所在类的方法。
4.接口成员无访问修饰符。接口类型不能实例化,但可以把接口类型指向实现自己的类的实例。抽象类也一样。
5.抽象类同普通类一样有构造函数,如果不显示声明有参构造函数,系统会自动添加一个protected类型的无参构造函数。
6.结构同普通类一样有构造函数,如果不显示声明有参构造函数,系统会自动添加一个无参构造函数。在构造函数中必须对所有未初始化的变量赋值。