Topic: 求助,关于java构造函数与继承的编译错误 |
Print this page |
1.求助,关于java构造函数与继承的编译错误 | Copy to clipboard |
Posted by: maxterry Posted on: 2006-01-29 18:12 下面程序编译通不过,请高手指教 //关于java构造函数与继承的理解 class SrInherit1 { int x,y; SrInherit1(int a,int b) { x=a; y=b; } } class SrInherit2 extends SrInherit1 { SrInherit2(int a,int b) { x=a+3; y=b+7; //super(a,b); 编译可通过 } } public class SrInherit { public static void main(String args[]) { int sum; SrInherit2 Srv=new SrInherit2(40,80); sum=Srv.x+Srv.y; System.out.println("sum="+sum); } } |
2.Re:求助,关于java构造函数与继承的编译错误 [Re: maxterry] | Copy to clipboard |
Posted by: why Posted on: 2006-01-29 20:18 I think you mean:
假如沒有這句,那就等如有一句隱藏的super();可是SrInherit1沒有default constructor,所以"编译错误" javac 的错误信息沒指出這點嗎? |
3.Re:求助,关于java构造函数与继承的编译错误 [Re: maxterry] | Copy to clipboard |
Posted by: maxterry Posted on: 2006-01-29 21:29 javac 的错误信息指出SrInherit1构造函数错误,不解? 为什么子类继承父类构造函数(super())可以,但子类创造自己的构造函数则会出错??? 父类有自己的构造函数, 那继承该父类的子类想要有自己的构造函数 (而不是用super()继承父类构造函数) 那么以上代码该这么修改才正确呢,请“元老”指点~~
Please use [ code ] tag to format code listing in the future. |
4.Re:求助,关于java构造函数与继承的编译错误 [Re: maxterry] | Copy to clipboard |
Posted by: why Posted on: 2006-01-29 21:49 maxterry wrote: 敝人前面說:假如沒有這句,那就等如有一句隱藏的super();可是SrInherit1沒有default constructor,所以"编译错误" 意思是
等如
可是SrInherit1沒有default constructor SrInherit1() { } 卻有 SrInherit1(int a,int b) { ... } 那麼 compiler 不會自動補入 SrInherit1() { super(); } 於是”指出SrInherit1构造函数错误” 解決方法之一不就是自已補充這個 SrInherit1() { } |
5.Re:求助,关于java构造函数与继承的编译错误 [Re: maxterry] | Copy to clipboard |
Posted by: maxterry Posted on: 2006-01-30 11:18 多谢why 指点,我完全明白了,谢谢了,今后还请多多指教!! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |