資源描述:
《實驗九類繼承與接口》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實驗九類繼承與接口(一)課程名稱:面向?qū)ο蟪绦蛟O(shè)計實驗實驗項目名稱:實驗九類繼承與接口(?)學(xué)生姓名:—專業(yè):學(xué)號:-實驗地點:實驗日期:_年—月—【實驗?zāi)康摹?.學(xué)握Java類的繼承特點,包括子類聲明、對象創(chuàng)建等。2.掌握域的繼承與隱藏的特點。3.掌握方法的繼承與重寫的特點?!緦嶒瀮?nèi)容】1.執(zhí)行類Constructorchain,請寫出輸出結(jié)果,并分析出現(xiàn)該結(jié)果的原因。提示:參考構(gòu)造方法鏈。classConstructorChain{publicstaticvoidmain(String[]args){newSon();}}classGrandpa{G
2、randpa(){System.out.println(”Grandpa”);}}classFatherextendsGrandpa{Father(){System.out.println("father");}classSonextendsFather{Son(){System.out.println(”son”);}}(1)運行結(jié)果:GrandpaFatherson分析繼承鏈上各個類構(gòu)造方法的調(diào)用次序:Grandpa()->Father()->son-()>....->Object;分析是否是超類構(gòu)造方法調(diào)用在前:調(diào)用子類前優(yōu)先調(diào)用超類⑵在命令行上鍵
3、入java-verboseConstructorchain,并回車,觀察各個類的加載次序.各個類的加載次序是:分析是否超類先加載:ClassGrandpa->classFather->classson1.程序設(shè)計,把以下代碼空缺處補齊■⑴類的繼承■需求分析:■校務(wù)管理系統(tǒng),設(shè)計類來描述系統(tǒng)中的兩個角色:教師與學(xué)生■publicclassTeacher■publicclassStudent■抽取共性■publicclassPerson■考慮在Person中設(shè)計教師與學(xué)生的公有域已知部分代碼設(shè)計如下classPersonclassTeacher*classP
4、erson*{privateStringname;*privateStringlocation;*Person(Stringname){*this.name=name;*location=',hangzhoun;*}*Person(Stringname,Stringlocation){*this.name=name;*this」ocation=location;*}*publicStringinfo(){*return*ame:”+name+”location:”+location;*}*}classTeacherextendsPerson〃[代碼1]
5、增加年齡屬性Teacher(Stringname,intage){〃[代碼2]構(gòu)造方法體}Teacher(Stringn,Stringl,intage){〃[代碼3]構(gòu)造方法體〃[代碼4]構(gòu)造方法體}publicStringinfo(){〃[代碼5]返回姓名:住所:以及年齡的信息}classPerson{privateStringname;privateStringlocation;Person(){};Person(Stringname){this.name=name;location=”hangzhou”;}Person(Stringname,Str
6、inglocation)!this.name=name;this」ocation=location;}publicStringinfo(){return"name:"+name+Hlocation:n+location;}classTeacherextendsPerson[代碼1]增加年齡屬性Teacher(Stringname,intage){super(name);[代碼2]構(gòu)造方法體}Teacher(Stringn,Stringl,intage){[代碼3]構(gòu)造方法體[代碼4]構(gòu)造方法體}publicStringinfo(){[代碼5]返回姓名:住
7、所:以及年齡的信息}}classStudentextendsPerson{[代碼1]增加年齡屬性Student(Stringname,intage){super(name);[代碼2]構(gòu)造方法體}Student(Stringn,StringI,intage){[代碼3]構(gòu)造方法體[代碼4]構(gòu)造方法體}publicStringinfo(){[代碼5]返回姓名:住所:以及年齡的信息}}publicclassTest{publicstaticvoidmain(Stringargs[]){Teacherteacher1=newTeacher("MrGreen",
8、30);Studentstudent1=newStudent("John",18