本帖最后由 杨威 于 2012-5-10 21:48 编辑
构造函数问题
子类构造函数第一行隐含语句super(),而你的父类中没有空参数的构造函数,故编译不通过
原因是子类在初始化时先到父类初始化,然后在自己的构造函数中初始化,也可以在子类构造函数第一行手动显示语句父类带参数的构造语句。
在父类中加上空参数的改正方法,代码如下:- class Super
- {
- int i=0;
- Super(){}//加入空构造函数
- public Super(String s)
- {
- i=1;
- }
- }
- class Demo extends Super
- {
- public Demo(String s)
- {
-
- i=2;
- }
- public static void main(String[] args)
- {
- Demo d=new Demo("yes");
- System.out.println(d.i);
- }
- }
复制代码 |