1、子类overWrite 父类方法的时候参数类型数目一定一样!!2、每个类的构造函数都会自动调用父类的默认构造函数,除非你手工声明(调用super关键字)   当你在子类中声明构造函数public subClass(int a1,int b1, int c1)时,它会自动调用   父类的无参数构造函数,而你已在父类中显示声明了一个有参数的构造函数,所以会出错3、构造函数没有覆盖,只有重载

解决方案 »

  1.   

    1.子类overWrite 父类的方法,形参一定要一样吗
    参数当然要一样,参数名字就无所谓了.2.super(a1, b1);//这里不写编译不能通过,为什么?
    因为不写super的话就调用父类的无参构造函数,但是你的父类没有无参构造函数,所以
    必须自己写super语句.2.构造函数和普通函数的覆盖有没有区别?
    构造函数其实没有覆盖的概念!
      

  2.   

    形参不同,就不成为覆盖,就是另外一个函数了。覆盖是指函数名、返回值类型、参数个数和参数类型完全相同,且public或private也相同。
      

  3.   

    1.子类overWrite 父类的方法,形参一定要一样吗?
    要一样
    2.super(a1, b1);//这里不写编译不能通过,为什么?
    你的父类没有无参构造函数
    3.构造函数和普通函数的覆盖有没有区别?
    构造函数不会覆盖。
      

  4.   

    public subClass(int a1,int b1, int c1)这里多了一个参数,如何解释呢????
      

  5.   

    public TestExtends1(int a, int b) 
    public subClass(int a1,int b1, int c1) 上面都是两个类的构造器,也就是说 父类和子类的构造器里参数可以不同。(这是一定,编译运行都正常)
    我只是对这里:super(a1, b1); 不是很理解!
      

  6.   

    有什么不理解的,super(a1, b1)就是直接调用TestExtends1(int a, int b)啊
      

  7.   

    override有几点要注意
    1.父类为protected,friendly的方法,子类可以定义为public,只要子类的比父类的松就行
    2.还有异常,子类方法抛出的异常必须为父类方法的子类或者和父类相同,也可以不抛出