刚学java,有些地方很不明白,看代码:
class A
{
  int i;  A(int xx)
  {
    i=xx;
  }
}class B extends A
{}public class Demo 
{
  public static void main(String args[])
  {
    B a=new B(1);
  }
}
编译时不通过,提示:
Demo.java:40: 找不到符号
符号: 构造函数 B(int)
位置: 类 B
    B a=new B(1);难道java中不能继承构造函数吗?

解决方案 »

  1.   

    在java中,子类不能继承父类的构造方法,如果要使用父类的构造方法,必须使用关键字super
      

  2.   

    super()是调用父类的无参构造函数,即使不加,也默认加上super(),况且 B a = new B(1)是要调用B得构造函数的,改为:
    class A{
    int i;
    A(int xx){
    i=xx;
    }
    }
    class B extends A{
    B(int i){
    super(10);
    }
    }
    public class Constructor {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    B a=new B(1);
    }
    }
      

  3.   

    难道java中不能继承构造函数吗?---------------------------------------------------请问哪个语言里能继承构造函数...