作者ChienHsiang (不务正业工程师)
看板java
标题Re: [问题] 继承和建构子
时间Sat Jul 15 14:32:01 2006
※ 引述《sioo (加油加油)》之铭言:
: ※ 引述《sioo (加油加油)》之铭言:
: : 不好意思,我不太了解..
: : 如果我在A里面没有写任何建构子,不是应该要自动产生一个无参数的就构子吗?
: : 还是说一个类别要被别人继承的时候,它就一定要有一个无参数的建构子
: : 谢谢您的回答
: 请问这种说法对吗?
: 如果子类别的建构子没有使用super来呼叫父类别的建构子
: 则compiler会自动帮子类别去呼叫父类别的无引数的建构子
: 可是当我B类别里面没去呼叫A类别的建构子,compiler自动帮我呼叫时
: 因为A类别里面我没有任何的建构子,compiler不是应该自动帮我产生一
: 个无参数的建构子吗
: 因此我还是搞不懂为什麽A类别里面要自己去写一个无参数的建构子
你说的没错...当你没有为 A 做一个建构子时
它是会自动帮你做一个没有参数的建构子
但你在 A 的 Class 中,帮它做了一个 A(int num)的建构子了
所以编译时并不会再帮你做一个无参数的建构子
而你在 B 中,虽然继承了 A,但建构子 B(int num)中却没加上super
所以它还是帮你去呼叫了 super()
我想,你可能必须自己呼叫 super(num) 才能编译成功吧!!!
--
◤城市.角落◢「简单的说,这座城市一点都不美。幸好有某些傻瓜存在。」
ID:CHIEN-HSIANG 工作只是生活的辅助,而不是全部
Basketball - Program - Read - Movie - Lifeful
◎职业:不务正业工程师 Java DotNet System Analyse & Design
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.0.243