public class Q7_1
{
int i;

public Q7_1(int i)
{
this.i=i;
}
}public class Q7_2 extends Q7_1
{
public static void main(String args[])
{
Q7_1 q1=new Q7_1(10);

System.out.println(q1.i);
}

}
编译结果:
Q7_2.java:1: Q7_1(int) in Q7_1 cannot be applied to ()
public class Q7_2 extends Q7_1
       ^
1 error为什么阿?

解决方案 »

  1.   

    父类必须显式声明一个默认的无参数的构造函数。public class Q7_1
    {
      int i;
      
      public Q7_1(){
        i=0;
      };  public Q7_1(int i)
      {
        this.i=i;
      }
    }
      

  2.   

    这两个类是在一个文件里还是两个文件里?
    如果是一个,把你的与文件名不同的类去掉public.
      

  3.   

    当然你的父类需要一个默认的构造函数。但是你这里
    Q7_1 q1=new Q7_1(10);其实应该你这里是错误了,你的10,并没有在前面声明它。