一道简单java题,运行出现如下错误,为什么,求指教
classA{publicinti=0;A(intm){i=1;}}publicclassBextendsA{B(intm){i=2;}publicstaticvoidm...
class A {
public int i=0;
A(int m) { i=1; }
}
public class B extends A {
B(int m){ i=2; }
public static void main(String args[]){
B b=new B(100);
System.out.println(b.i);}
}
程序提示编译错误(原因是A类没有不带参数的构造方法)
为什么 不是有A(int m)的吗 怎么还要不带参数的构造方法 展开
public int i=0;
A(int m) { i=1; }
}
public class B extends A {
B(int m){ i=2; }
public static void main(String args[]){
B b=new B(100);
System.out.println(b.i);}
}
程序提示编译错误(原因是A类没有不带参数的构造方法)
为什么 不是有A(int m)的吗 怎么还要不带参数的构造方法 展开
1个回答
推荐于2018-04-14
展开全部
子类构造方法必须调用父类的构造方法,就是super,但是有时候可以不用写super,就是父类有无参构造方法的时候。如果父类没有无参构造方法,那你必须手动调。你这种情况B构造方法中必须 super(i);// i 是个int类型参数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |