![Java继承的概念与实现_第1页](http://file4.renrendoc.com/view5/M00/29/2B/wKhkGGZz9KOAFJ5SAAGnK9vewE8794.jpg)
![Java继承的概念与实现_第2页](http://file4.renrendoc.com/view5/M00/29/2B/wKhkGGZz9KOAFJ5SAAGnK9vewE87942.jpg)
![Java继承的概念与实现_第3页](http://file4.renrendoc.com/view5/M00/29/2B/wKhkGGZz9KOAFJ5SAAGnK9vewE87943.jpg)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。
继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。
继承使用
extends关键字。(参考网站:/RA5iKhq)
例如我们已经定义了一个类People:1classPeople{2Stringname;3intage;4intheight;56voidsay(){7System.out.println("我的名字是"+name+",年龄是"+age+",身高是"+height);资料个人收集整理,勿做商业用途8}9}如果现在需要定义一个类Teacher,它也有name、age、height属性和say()方法,另外还需要增加school、seniority、subject
属性和
lecturing()方法,怎么办呢?我们要重新定义一个类吗?资料个人收集整理,勿做商业用途
完全没必要,可以先继承People类的成员,再增加自己的成员即可,例如:1classTeacherextendsPeople{2Stringschool;//所在学校3Stringsubject;//学科4intseniority;//教龄56//覆盖People类中的say()方法7voidsay(){8System.out.println("我叫"+name+",在"+school+"教"+subject+",有"+seniority+"年教龄");资料个人收集整理,勿做商业用途9}1011voidlecturing(){12System.out.println("我已经"+age+"岁了,依然站在讲台上讲课");资料个人收集整理,勿做商业用途13}14}对程序的说明name和age变量虽然没有在Teacher中定义,但是已在People中定义,可以直接拿来用。资料个人收集整理,勿做商业用途Teacher是People的子类,People是Teacher类的父类。子类可以覆盖父类的方法。子类可以继承父类除private以为的所有的成员。构造方法不能被继承。
继承是在维护和可靠性方面的一个伟大进步。如果在People类中进行修改,那么Teacher类就会自动修改,而不需要程序员做任何工作,除了对它进行编译。
单继承性:Java允许一个类仅能继承一个其它类,即一个类只能有一个父类,这个限制被称做单继承性。后面将会学到接口(interface)的概念,接口允许多继承。
最后对上面的代码进行整理:资料个人收集整理,勿做商业用途1publicclassDemo{2publicstaticvoidmain(String[]args){3Teachert=newTeacher();4="小布";5t.age=70;6t.school="清华大学";7t.subject="Java";8t.seniority=12;9t.say();10t.lecturing();11}12}13classPeople{14Stringname;15intage;16intheight;1718voidsay(){19System.out.println("我的名字是"+name+",年龄是"+age+",身高是"+height);资料个人收集整理,勿做商业用途20}21}22classTeacherextendsPeople{23Stringschool;//所在学校24Stringsubject;//学科25intseniority;//教龄2627//覆盖People类中的say()方法28voidsay(){29System.out.println("我叫"+name+",在"+school+"教"+subject+",有"+seniority+"年教龄");资料个人收集整理,勿做商业用途30}3132voidlecturing(){33System.out.println("我已经"+age+"岁了,依然站在讲台上讲课");资料个人收集整理,勿做商业用途34}35}运行结果:我叫小布,在清华大学教Java,有12年教龄
我已经70岁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论