欢迎来到天天文库
浏览记录
ID:39283540
大小:44.21 KB
页数:5页
时间:2019-06-29
《类的继承练习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4.1继承练习1-继承:1)定义一个父类person,该类包含2个属性(name,age),2个方法吃饭、睡觉;2)设计两个子类Student和Teacher2)让学生类继承Person类,老师类也继承Person。4)编写测试类Test1,测试Student类和Teacher是否继承了Person类的成员。定义父类Person,实现继承关系,代码如下:classPerson{Stringname;intage;voideat(){System.out.println("吃饭");}voidsleep(){System.out.println("睡觉");}}classStude
2、ntextendsPerson{intsid;//学号}classTeacherextendsPerson{inttid;//工号voidteach(){System.out.println("老师教课");}}2、定义测试类Test1,代码如下:publicclassTest1{publicstaticvoidmain(String[]args){Students=newStudent();s.eat();s.sleep();System.out.println("----");Teachert=newTeacher();t.eat();t.sleep();t.teach();
3、}}运行结果如图4-1所示。图4-1运行结果总结:1、在Java中,多个类可以继承一个父类,但是一个类不能直接继承多个类,一个类只能有一个直接父类。2、父类是由子类不断抽取而来的,不断地抽取就形成了体系结构,这个结构称为继承体系结构。3、子类在继承父类的时候,会自动拥有父类所有的成员。4、继承的好处是划分了类的层次性,实现了代码重用、扩展了程序功能。练习2-重写父类方法Student类继承了person类的所有属性和方法,在student类重写person类中的eat()方法。classPerson{Stringname;intage;voideat(){System.out.p
4、rintln("吃饭");}voidsleep(){System.out.println("睡觉");}}classStudentextendsPerson{intsid;//学号voideat(){System.out.println("今天吃了锅包肉,真香啊!");}publicclassTest2{publicstaticvoidmain(String[]args){Students=newStudent();s.eat();}练习3-super访问父类成员变量1)编写一个Fu类,在类中定义无参构造方法和一个初始值为20的num成员变量。2)Zi类继承Fu类,在子类中对nu
5、m值进行了修改,同时在子类中定义无参构造方法和一个无返回值的method()成员方法,method()成员方法中使用super关键字调用了Fu类的num成员变量。3)定义测试类Example03。二、案例实现1、编写Fu类及其子类Zi,在Zi类中使用super关键字调用Fu类成员变量,代码如下classFu{Fu(){}intnum=20;}classZiextendsFu{Zi(){}intnum=30;voidmethod(){System.out.println("method");System.out.println("Fu类中num值为:"+super.num);Sys
6、tem.out.println("Zi类中num值为:"+num);}}2、定义测试类Example03,代码如下:classExample03{publicstaticvoidmain(String[]args){Ziz=newZi();z.method();}}运行结果如图4-3所示。图4-1运行结果练习4-super访问父类成员方法1)编写一个Fu类,在类中定义无参构造。2)Zi类继承Fu类,子类中也定义无参构造方法,在构造方法中使用super关键字调用Fu类的构造方法。3)定义测试类Test5。1、编写Fu类及其子类Zi,在Zi类构造中使用super关键字调用Fu类构造方
7、法,代码如下:classFu{Fu(){System.out.println("Fu类构造方法!");}}classZiextendsFu{Zi(){super();//在子类构造方法中调用父类构造方法System.out.println("Zi类构造方法!");}}2、定义测试类Test5,代码如下:publicclassTest5{publicstaticvoidmain(String[]args){Zizi=newZi();}}运行结果说明:1.通过super调用父类构造方
此文档下载收益归作者所有