第七讲 类的继承

第七讲 类的继承

ID:34485586

大小:185.87 KB

页数:9页

时间:2019-03-06

第七讲 类的继承_第1页
第七讲 类的继承_第2页
第七讲 类的继承_第3页
第七讲 类的继承_第4页
第七讲 类的继承_第5页
资源描述:

《第七讲 类的继承》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言程序设计第七讲类的继承主要内容类继承实现代码复用继承时方法的重写super关键字final修饰的数据、方法和类类继承实现代码复用每个类都有父类如果没有使用extends关键字,则Object类就是缺省的父类。Object类包含在java.lang包中。所有的类都是从这个类继承而来的。Object类定义了Java系统需要的所有类的行为。类继承的实现一个类能从其它类继承行为与属性,由此直接实现代码复用。杨佩理yangpl@szit.edu.cnJava语言程序设计classSubClassextendsSupe

2、rClass{ClassBody}类继承例程阅读classPerson{intsalary;voidemployed(){if(salary==0)System.out.println("nojob");elseSystem.out.println("job");}}classChildrenextendsPerson{intage;voidprintAge(){System.out.println("Age:"+age);}publicstaticvoidmain(String[]args){Childrenc=ne

3、wChildren();c.salary=560;c.age=12;c.printAge();c.employed();}}练习:有如下Bird类,请再设计一个继承Bird类的SubBird类,在main方法中利用SubBird类,让程序的输出结果为:classBird{doubleh;voidfly(){System.out.println("abirdflysin"+h+"mheightofthesky.");}voidsetH(doubleh){this.h=h;}}classSubBirdextendsBird

4、{}杨佩理yangpl@szit.edu.cnJava语言程序设计构造方法不可继承classA{A(intm){System.out.println("A("+m+")");}}classBextendsA{publicstaticvoidmain(String[]args){newB(100);//B类中无带参构造方法,出错!}}思考与验证:(1)将newB(100)改成newB()会怎样?(2)注释A类中的带参构造方法呢?继承时的对象初始化例程阅读classArt{Art(){System.out.println(

5、"Artconstructor");}}classDrawingextendsArt{Drawing(){System.out.println("Drawingconstructor");}}classCartoonextendsDrawing{Cartoon(){System.out.println("Cartoonconstructor");}publicstaticvoidmain(String[]args){newCartoon();}}静态变量初始化|运行父类的构造方法(默认或主动)(按级别高到低的顺序)|实

6、例变量初始化|调用主类的构造方法杨佩理yangpl@szit.edu.cnJava语言程序设计思考1.一个类如何去继承另一个类?1.一个类继承另一个类时,究竟继承了什么?2.类的继承有什么好处?3.每个类都有父类吗?4.如果类定义时无extends部分,该类的父类是?5.多个子类可以继承自一个父类吗?6.一个类可以同时继承多个父类吗?7.若不希望父类中的某成员被子类所继承,如何实现?8.根类Object在哪个软件包中?9.对象的初始化时,父类的什么样的构造方法能自动执行?10.如何主动调用父类的构造方法?11.父类构造

7、方法的执行时机?方法的重写(overriding)当一个子类继承父类时,子类将自动拥有父类的成员变量和成员方法。问题:如果父类的某个方法对于子类不合适怎么办?方法重写例程阅读classChildrenextendsPerson{intage;voidprintAge(){System.out.println("Age:"+age);}voidemployed(){System.out.println("Achildshouldstudyintheschool.");}publicstaticvoidmain(Strin

8、g[]args){Childrenc=newChildren();c.age=12;c.printAge();c.salary=560;c.employed();}}杨佩理yangpl@szit.edu.cnJava语言程序设计本例重写意义:在继承Persons的子类Children中,重写employed方法,输出“Achild

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。