作者rockfuture (..)
看板java
标题Re: Constructor与class的继承
时间Fri Jul 7 16:34:39 2006
※ 引述《oishii (喔帅)》之铭言:
: 我想请教一个问题,如果母类别没有no args的constructor,如下
: class A{
: A (String s){}
: }
: 他的子类别 class B extends A ,理论上不会有default constructor
: 必须自己定义,是这样子吗? 如果是话,假设我自己定义一个constructor如下
class B是有default constructor的...default constructor 只要在你没自行定义
constructor时,就会产生,而你这里的问题在於,父类别的建构子是有引数的,
而在class B的建构子中(不论是default或是user define)并没有输入一个符合父类
别建构子引数的super()呼叫,因为,每个建构子的第一行都会呼叫super(),没打的
话会以预设的super()也就是没有引数的,因为在你的问题中你的父类别的建构子是
有引数的,所以compile会出现错误
: class B extends A{
: B() {}
: }
: 这样子似乎是无法compile,因为没有super()存在,不过这样就可以
: B(){ super(new String());}
: ,那麽我想请问的是,在B的建构子中,如果不自己写的话,有办法去呼叫A的建构子吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.39.173.66