+ -
当前位置:首页 → 问答吧 → 父类的构造函数到底能不能被继承???

父类的构造函数到底能不能被继承???

时间:2011-10-07

来源:互联网

class father
{
  public father(){System.out.print("father");}
}

class son extends father
{
  public static void main(String args[])
{
  son s1= new son();
}
}

不管有没有定义构造函数都会输出 father 
不是说构造器不会被继承吗???求救 - -。

作者: Azraelong   发布时间: 2011-10-07

生成子类对象会先调用父类的构造函数 再调用子类的构造函数 LZ你可以在子类构造函数里写个输出 看看结果就知道了

作者: jj19900703   发布时间: 2011-10-07

父类的构造函数 会被子类继承 子类生成对象时会首先调用父类的构造函数

作者: zhishiheng   发布时间: 2011-10-07

构造函数没有继承的概念,只不过构造一个子类的对象时,会先构造一个父类的对象(实例),这个在c++中表现最明显。


先构造一个父类的对象就得调用父类的构造函数。

作者: trocp   发布时间: 2011-10-07

其实是可以被继承的,但如果你重写了构造函数的话,就会调用子类的构造方法了,但是如果要调用父类的构造函数的话还是可以调用的:super.父类的构造函数

作者: zaixiankaifa   发布时间: 2011-10-07

继承中的构造规则:
  1.子类的构造中必须调用父类的构造方法。
  2.子类可以再自己的构造方法中使用super(参数列表)调用父类的构造方法(注意:this(参数列表):
  调 用本类的自己的其他构造方法),如果要调用super()这必须写在前面;
  3.如果子类的构造方法中没有显示的调用父类的构造方法,这系统默认调用父类无参数的构造方法

  4.如果子类构造方法中既没有显示的调用父类的构造方法,而且父类中又没有无参数的构造方法,这编译出错!!!!!

作者: cqltwslt   发布时间: 2011-10-07

看看class的加载机制就明白的
构造器是不会被继承的,只能做现实调用,就是楼上说的关键字super()

作者: lgh1117   发布时间: 2011-10-07

不能被继承

作者: TKD03072010   发布时间: 2011-10-07

说能继承的回家跪键盘去

作者: x19881216   发布时间: 2011-10-07

热门下载

更多