首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

子类继承父类构造方法的有关问题

2012-02-20 
子类继承父类构造方法的问题class animal{public int idanimal(int id){this.idid}}class bird extends

子类继承父类构造方法的问题
class animal{
public int id;

animal(int id){
this.id=id;
}

}

class bird extends animal{

}

public class dog{

public static void main (String[] args) {

}
}

编译通过不了,提示找不到符号,构造方法注释掉就OK了,想问问为什么

[解决办法]
在bird类默认实例化时是调用animal无参的构造方法。如果在父类animal中声明了有参的构造方法,它就不存在无参的构造方法了,所以抛出异常。
[解决办法]
同上,楼上正解
[解决办法]
在子类建立对象的时候,要调用父类的构造方法,
如果子类的构造函数是无参的,就要调用父类的无参数的构造函数,
因为你提供了父类的构造函数,并且是有参数的,所以父类就没有无参数的构造函数,
这时候子类又不提供参数,编译时通过不了的
[解决办法]
最好在子类的构造方法的第一行加super(),括号中要有父类构造方法的参数。养成这个习惯可以避免一些麻烦

热点排行