日期:2014-05-20  浏览次数:20720 次

为什么过不去呢?
class   A{
int   i,   j;
A(int   m,   int   n){
i   =   m;
j   =   n;
}
void   showij(){
System.out.println( "i   and   j: "   +   i   +   '\t '   +   j);
}
}

class   B   extends   A   {
int   k;
B(int   m,   int   n)
{
i   =   m;
j   =   n;
}
void   showk(){
System.out.println( "k: "   +   k);
}
}


------解决方案--------------------
class A{
int i, j;
A(int m, int n){
i = m;
j = n;
}
void showij(){
System.out.println( "i and j: " + i + '\t ' + j);
}
}

class B extends A {
int k;
B(int m, int n)
{
super(m,n);
}
void showk(){
System.out.println( "k: " + k);
}
}

因为A没有默认构造函数 所显式的调用父类的构造函数

或者定一个默认构造函数

class A{
int i, j;
A(int m, int n){
i = m;
j = n;
}
A(){

}
void showij(){
System.out.println( "i and j: " + i + '\t ' + j);
}
}

class B extends A {
int k;
B(int m, int n)
{
i = m;
j = n;
}
void showk(){
System.out.println( "k: " + k);
}
}