没错在你画红框框的地方,错在SubClass(int)这个构造方法上了。父类没有无参构造方法

解决方案 »

  1.   


    方法不是在调用的时候才会执行吗?编译器整个执行过程中,就没有涉及到SubClass(int n)(没有调用过它),编译器怎么会执行不下去,会出现报错呢?
      

  2.   


    方法不是在调用的时候才会执行吗?编译器整个执行过程中,就没有涉及到SubClass(int n)(没有调用过它),编译器怎么会执行不下去,会出现报错呢?谁说没有涉及到?
    编译器在生成字节码文件的时候,会将对里面的代码进行逻辑等检查,不管你运行不运行,你父类没有默认构造函数,子类的另一个构造方法,在编译的时候会试着去父类找,但是找不到,自然报错.换句话说,如果出现这种错误,编译器都不去管,那么程序设计者会漏掉多少错误呢?