class father
{
     public father(){System.out.print("father");}
}class son extends father
{
     public static void main(String args[])
{
     son s1= new son();
}
}不管有没有定义构造函数都会输出 father 
不是说构造器不会被继承吗???求救 - -。

解决方案 »

  1.   

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

  2.   

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

  3.   

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