如果不加super(***);
子类的构造函数默认去继承父类的不带任何参数的构造函数,People类中没有定义People()构造函数,所以会出错。
super(***)中加上参数去指定继承父类的哪一个构造函数。
子类的构造函数默认去继承父类的不带任何参数的构造函数,People类中没有定义People()构造函数,所以会出错。
super(***)中加上参数去指定继承父类的哪一个构造函数。
解决方案 »
- 线程里的中断到底是什么概念
- 一个关于接口中方法的问题
- <xsd:element saw-name:hello="world"/>如何解析?
- 与对方厂家讨论webservice接口,我觉得应该提供WSDL,同事认为提供XSD+XML即可,大家认为呢
- 关于异常处理机制,大家有空进来看一看。。。。
- 在properties文件中frametitle=\u8868\u5585,如何才能显示汉字呢?
- 像这样的string a = 1+2+3+4; 怎么让他强制计算呢??
- stack类不能被重载??????!!!!!!
- 多线程问题--请帮我看一下我写的一个代码!
- 金山笔试,多线程问题???在线急等
- Applet使用的问题?紧急!
- JDK的配置,
在子类的构造函数中会调用父类的构造函数,也就是说要有super(...)
并且这个super(...)的参数类型要在父类中存在.
如果你在子类的构造函数中没有super(...),那么编译系统会自动给你加上
一个super(),注意,这个super()是没有参数的.那么这个空参数的super()
在你的父类中不存在,所以编译失败.
如果你在class People中加入一个空参数的People():
class People
{
......
People()
{
Num = 0L;
Name = "NO_NAME";
Sex = "";
Ages = 0;
}
......
}
这样,哪怕你注释掉: //super(Num,Name,Sex,Ages);
编译也不会错了.