黑马程序员技术交流社区

标题: 父类没有无参构造方法,子类怎么办? [打印本页]

作者: 641551734    时间: 2016-4-9 23:02
标题: 父类没有无参构造方法,子类怎么办?
父类没有无参构造方法,子类怎么办?

作者: suiyanxin    时间: 2016-4-9 23:14
嗯嗯不错不错不错
作者: 丶半度微凉    时间: 2016-4-9 23:36
如果父类有有参构造,那么子类有参构造中加个super()就行或者父类加个无参构造,如果都没有有参构造,系统会默认有无参构造
作者: huweixiong    时间: 2016-4-9 23:48
无参构造函数系统会默认加上的,子类也是一样
作者: 守徒徒    时间: 2016-4-10 00:31
如果父类没有定义任何构造函数,系统会默认加上无参构造函数,子类也一样;如果子类定义了构造函数但没有无参构造函数,那么子类构造函数中也就随着父类给super代入相应参数即可。
作者: 604840337    时间: 2016-4-10 00:38
访问父类有参
作者: 604840337    时间: 2016-4-10 00:39
huweixiong 发表于 2016-4-9 23:48
无参构造函数系统会默认加上的,子类也是一样

如果父类重载了构造方法 那么如何不写出来无参 是没有无参构造的  子类super会直接访问父类的有参
作者: huweixiong    时间: 2016-4-11 22:14
604840337 发表于 2016-4-10 00:39
如果父类重载了构造方法 那么如何不写出来无参 是没有无参构造的  子类super会直接访问父类的有参 ...

父类重载了构造方法?应该是子类重载了父类的构造方法,子类super会直接访问父类的构造方法吧
作者: ssx337125845    时间: 2016-4-11 23:52
系统已经默认建立无参构造,所以子类中只需要用super调用父类中有参构造的成员变量即可,但基础班最好还是这一下无参构造,以便于自己能理解是怎么一回事
作者: ldy9009    时间: 2016-4-12 00:24
任何类默认都有空参数构造方法,如果编写了有参数构造方法空参数构造方法就没有了
作者: 泪无痕    时间: 2016-4-12 00:33
如果父类没有定义任何构造函数,系统会默认加上无参构造函数,子类也一样;如果子类定义了构造函数但没有无参构造函数,那么子类构造函数中也就随着父类给super代入相应参数即可。
作者: 菊花爆满山    时间: 2016-4-12 01:48
那么你就必须在子类的构造函数中指定父类的构造函数,不然会报错,因为默认是会在子类构造函数的第一行代码加上super()。
作者: 长衫造纸农_    时间: 2016-4-12 08:29
每个类都会有一个默认得无参构造函数,如果没写也是有的。
作者: 604840337    时间: 2016-4-13 16:37
huweixiong 发表于 2016-4-11 22:14
父类重载了构造方法?应该是子类重载了父类的构造方法,子类super会直接访问父类的构造方法吧 ...

构造方法不能继承  子类有自己的构造方法  同学你理解有问题啊
作者: 604840337    时间: 2016-4-13 16:39
huweixiong 发表于 2016-4-11 22:14
父类重载了构造方法?应该是子类重载了父类的构造方法,子类super会直接访问父类的构造方法吧 ...

同学 你理解有问题啊 建议多理解下
作者: 地二血    时间: 2016-4-13 16:40
如果父类有有参构造,那么子类有参构造中加个super()就行或者父类加个无参构造,如果都没有有参构造,系统会默认有无参构造
作者: 追梦de蜗牛2016    时间: 2016-4-13 18:50
用super或this来解决
作者: qing31657552    时间: 2016-4-13 22:14
有,系统会默认给出的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2