没有带参数的构造函数叫做默认构造函数。如果在继承类的构造函数没有显性的调用基类某个构造函数(如果有多个的话),则会自动调用基类的默认构造函数。如果显性调用的其他构造函数,则是第二个程序的结果。

解决方案 »

  1.   

    以子类为标准就不同,以他们的顶级父类为型别就相同!
      

  2.   

    这两个程序的区别就在于构造函数一个有参数一个没有参数;如果没有参数的话,子类的构造要先调用父类的构造函数,如果父类没有没有参数的构造函数,那么要在子类里面显示调用父类有参数的构造函数,否则就会出错;第二个程序就是显示调用父类有参数的构造函数,所以结果会和第一个程序结果相同!
      

  3.   

    在你创建一个子类的时候其实也创建了它的父类。
    所以可以想一下,如果构造函数中不提供父类的建构方法是不行了。