P82226 发表于 2015-12-23 09:33:11

都说子类不能继承父类的构造方法,我怎么继承过来了??

C类把B类和A类的F()方法重写可以理解。我只建立了一个C的对象cc。调用cc的F()方法却把A类和B类的构造方法也给调用了。
不是说构造方法不能被继承吗?

不想被咬的骨头 发表于 2016-1-20 14:49:37

这个不叫继承了父类的构造方法,简单来说,当实例化一个对象时,首先会调用父类的静态代码块接着是父类的构造方法,然后是类自己的非静态代码块接着是类自己的构造方法,所以出现了你截图上的情况。---------建议你看下对象的实例化过程部分的知识。

夏天的花生 发表于 2016-2-5 21:00:02

这不是继承,而是子类构造器自动调用了父类的无参构造器,你这个效果相当于在你子类构造器代码第一行写了个super(),从而调用了父类constructor。你要是在父类写了个带参构造器,比如你的A类里面写了个public A(T t){...};而没有显式定义一个无参的构造器,你的B类,C类代码就会报错了

自古天道酬勤 发表于 2016-2-12 19:43:37

子类会先搞出来父类,爹没出来哪有儿子
页: [1]
查看完整版本: 都说子类不能继承父类的构造方法,我怎么继承过来了??