資源描述:
《程序設(shè)計基礎(chǔ)Java程序設(shè)計.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第6章Java繼承、接口和包6.1Java類的繼承6.2Java類的多態(tài)6.3抽象類及抽象方法6.4final類及final成員6.5接口6.6包6.7綜合運用實例6.1Java類的繼承語法格式:[訪問控制符][修飾符]class子類名extends父類名{子類新添加數(shù)據(jù)成員定義、方法成員定義;}6.1.1子類的聲明方式例:classAnimal//動物類{publicfloatweight;//重量publicvoideat(){…}//吃}classMammalextendsAnimal//哺乳動物類{publicintheartRate;//新添加數(shù)
2、據(jù)成員heartRatepublicvoidbreathe(){…}//新添加方法成員breathe}6.1Java類的繼承Java類的繼承層次結(jié)構(gòu)中,類Object是最頂級的類,它是Java中所有類的根類,它在java.lang包中定義。6.1Java類的繼承classCatextendsMammal//貓類{booleanlonghair;//新添加數(shù)據(jù)成員publicvoidpurr(){…}//新添加方法成員}6.1.2子類對象的創(chuàng)建【例6-1】定義父類Father和子類Son,在主類Test中創(chuàng)建各自對象并訪問父類對象和子類對象。classFat
3、her//父類Father{Stringname;publicvoidSet_Name(Stringsn)//設(shè)置姓名{name=sn;}publicvoidFather_Access(){System.out.println("我是父親"+name);}}6.1Java類的繼承classSonextendsFather//兒子類Son{Stringnickname;//新添加成員nickname描述兒子的小名publicvoidSet_NickName(Stringsn)//新添加成員{nickname=sn;}publicvoidSon_Access(
4、)//訪問兒子{System.out.println("我是兒子"+name+",我的小名是"+nickname);}}6.1Java類的繼承publicclassTest{publicstaticvoidmain(String[]args){Fatherfat=newFather();//子類對象定義和初始化fat.Set_Name("彭政");//設(shè)置父親姓名Sonson=newSon();son.Set_Name("彭龍");//設(shè)置兒子姓名son.Set_NickName("龍龍");//設(shè)置兒子小名fat.Father_Access();//訪問
5、父親對象son.Son_Access();//訪問兒子對象}}6.1Java類的繼承程序執(zhí)行結(jié)果:我是父親彭政我是兒子彭龍,我的小名是龍龍6.1Java類的繼承父類對象fat和子類對象son6.1Java類的繼承6.1.3子類的構(gòu)造方法創(chuàng)建子類對象分兩步,首先調(diào)用父類構(gòu)造方法創(chuàng)建好父類部分并初始化,之后調(diào)用子類構(gòu)造方法創(chuàng)建新添加成員部分并初始化。在子類內(nèi)部可以通過super關(guān)鍵字來訪問父類中的成員,包括父類構(gòu)造方法。6.1Java類的繼承【例6-2】構(gòu)造方法的調(diào)用。classFather//父類Father{Stringname;//姓名intage;//
6、年齡publicFather(Stringsn,inta)//父類構(gòu)造方法{name=sn;age=a;}publicvoidFather_Access(){System.out.println(“我是父親”+name+“,今年"+age+"歲了");}}6.1Java類的繼承classSonextendsFather//兒子類Son{Stringnickname;//小名Son(Stringn1,Stringnickname,intage)//子類構(gòu)造方法{super(n1,age);//調(diào)用父類構(gòu)造方法this.nickname=nickname;}p
7、ublicvoidSon_Access(){System.out.println("我是兒子"+super.name+",小名是"+nickname+",今年"+super.age+"歲了");}}6.1Java類的繼承publicclassTest{publicstaticvoidmain(String[]args){Fatherfat=newFather("彭政",37);//子類對象定義和初始化Sonson=newSon("彭龍","龍龍",10);fat.Father_Access();son.Son_Access();}}程序執(zhí)行結(jié)果:我是父親彭
8、政,今年37歲了我是兒子彭龍,小名是龍龍,今年10歲了6.1Jav