资源描述:
《java练习册(013)--类的继承》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、文件编号:YM/WI-19文件版本:A版文件页码:pageofjava课程实践指导书练习册——JAVA篇类的多态和继承(2)一、练习目标:1.方法的重载和覆盖。2.类的多态,继承。二、练习时间与作业要求:本次练习一共需要180分钟。翻译练习写在JAVA笔记本上,书面作业写在JAVA家庭作业本上。后面的书面作业不包括在这个时间范围内。三、翻译练习:将下面要求翻译的内容,写在记事本上(阴影部分不写出来,要求看懂)OrderofconstructorcallsAconstructorforthebaseclas
2、sisalwayscalledduringtheconstructionprocessforaderivedclass,chaininguptheinheritancehierarchysothataconstructorforeverybaseclassiscalled.Thismakessensebecausetheconstructorhasaspecialjob:toseethattheobjectisbuiltproperly.Aderivedclasshasaccesstoitsownmemb
3、ersonly,andnottothoseofthebaseclass(whosemembersaretypicallyprivate).Onlythebase-classconstructorhastheproperknowledgeandaccesstoinitializeitsownelements.Therefore,it’sessentialthatallconstructorsgetcalled,otherwisetheentireobjectwouldn’tbeconstructed.Tha
4、t’swhythecompilerenforcesaconstructorcallforeveryportionofaderivedclass.Itwillsilentlycallthedefaultconstructorifyoudon’texplicitlycallabase-classconstructorinthederived-classconstructorbody.Ifthereisnodefaultconstructor,thecompilerwillcomplain.(Inthecase
5、whereaclasshasnoconstructors,thecompilerwillautomaticallysynthesizeadefaultconstructor.)Theorderoftheconstructorcallsisimportant.Whenyouinherit,youknowallaboutthebaseclassandcanaccessanypublicandprotectedmembersofthebaseclass.Thismeansthatyoumustbeabletoa
6、ssumethatallthemembersofthebaseclassarevalidwhenyou’reinthederivedclass.Inanormalmethod,constructionhasalreadytakenplace,soallthemembersofallpartsoftheobjecthavebeenbuilt.Insidetheconstructor,however,youmustbeabletoassumethatallmembersthatyouusehavebeenbu
7、ilt.Theonlywayto文件编号:YM/WI-19文件版本:A版文件页码:pageofjava课程实践指导书guaranteethisisforthebase-classconstructortobecalledfirst.Thenwhenyou’reinthederived-classconstructor,allthemembersyoucanaccessinthebaseclasshavebeeninitialized.Knowingthatallmembersarevalidinsidet
8、heconstructorisalsothereasonthat,wheneverpossible,youshouldinitializeallmemberobjects(thatis,objectsplacedintheclassusingcomposition)attheirpointofdefinitionintheclass(e.g.,b,c,andlintheprecedingexample).Ifyoufollow