关于java 的一个问题 为什么我的执行不了

来源:百度知道 编辑:UC知道 时间:2024/05/04 23:53:37
我的程序是这样请帮我看下那里错了 为什么执行的时候说 第二个class ax extends sum 是错的 请问是怎么回事
class sum
{
int a,b;
sum(int x,int y)
{
a=x+y;
b=x*y;
}
void printf()
{
System.out.println(a);
System.out.println(b);
}
}
class ax extends sum
{
}
class qw
{
public static void main(String[] args)
{
sum q;
ax s;
q=new sum(4,5);
s=new ax();
q.printf();
s.printf();
}
}

你在父类中定义了一个带参构造方法,就把系统默认的无参构造方法给屏蔽了.
子类中当然只继承了父类的带参构造方法,而且子类中也没有定义自己的无参构造方法.但是你却使用了无参构造方法,编译器找不到当然出错了.
在父类添个无参构造方法即可: sum(){}

ax 继承sum,s=new ax();用的是ax();没有定义,或者说Sum()没有定义的原因