- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE1/NUMPAGES1
第4章_面向对象的高级编程
第4章面向对象的高级编程面向对象方法的三个特性中,首先是封装性。
前面介绍过的类和对象,体现了面向对象程序设计语言的封装性。
本节中将介绍另外两大特性:
继承性和多态性。
继承性反映了类之间的层次关系。
一个类可以继承另一个类的所有成员变量和成员方法,该类还可以增加属于自己的成员。
被继承的类称为父类,继承后生成的新类称为子类。
父类和子类之间是继承关系,也称扩展。
继承这一特性可以大大提高代码的重用性,同时又对程序的删改和增添提供了方便,大大提高了程序的可扩展性和可维护性。
Java语言仅支持单继承,即每个子类只允许有一个父类,但一个类可以有多个子类。
对于某些需要多继承的情况,Java语言中将通过接口方式处理。
核心内容:
1.继承2.多态3.接口4.枚举5.Java常用类4.1继承4.1.1继承的基本概念1、创建子类在Java语言中,用extends关键字来表示一个类继承了另一个类。
其基本格式如下:
classlt;子类名gt;extendslt;父类名gt;{lt;子类体gt;}其中,extends是用于指出该类的父类。
如果在类的定义中没有extends子句,则表示该类的父类为java.lang.Object类。
Object类在后面会作更详细介绍。
classA{}classBextendsA{}上面代码中,类B继承了类A。
类B是类A的直接子类,而类A是类B的直接父类。
类A的直接父类是Object类,在Java语言中,所有类都是Object类的子类。
子类继承了父类,那么子类到继承了父类的哪些东西呢?简单地说:
子类继承了父类的一切(成员变量和成员方法),但这并不意味着在子类中可以访问父类的所有成员和方法,这受到访问控制修饰符的控制。
?当子类和父类位于同一个包中:
子类中可以使用父类中public、默认访问控制和protected访问级别的成员变量和成员方法。
?当子类和父类位于不同的包中:
子类中可以使用父类中public和protected访问级别的成员变量和成员方法。
【例4-1】分析下列程序,注意子类对父类的继承。
//文件名:
Demo.javaclassA{publicintx=10;inty=9;protectedintz=8;privateintw=7;voidprint(){System.out.println(quot;InClassAquot;);}intsum(){returnx+y+z+w;}}classBextendsA{intb1=10;inttotal(){returnx+y+z+b1;}}publicclassDemo{publicstaticvoidmain(String[]args){Aa=newA();...
文档评论(0)