java继承性和多态性

java继承性和多态性

ID:38566165

大小:236.51 KB

页数:25页

时间:2019-06-15

java继承性和多态性_第1页
java继承性和多态性_第2页
java继承性和多态性_第3页
java继承性和多态性_第4页
java继承性和多态性_第5页
资源描述:

《java继承性和多态性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章 继承性和多态性主要内容4.1继承性派生类的定义super关键字protected和final关键字4.2多态性4.3抽象类和接口抽象类接口4.4初始化块2继承性和多态性4.1继承性类具有继承性,子类对父类的继承关系体现了现实世界中特殊和一般的关系。通过继承可以更有效地组织程序结构,明确类间关系,并充分利用已有的类来完成更复杂、深入的开发。4.1.1派生类的定义Java中的所有类都是java.lang.Object类的子类。Java语言中派生类的定义格式如下:示例:参看例4.1class<子类>extends<唯一的父类名>{<类定义体>}3继承性和多态性4.1

2、.2super关键字1.数据成员的隐藏数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。2.成员方法的覆盖子类可以重新定义与父类格式完全相同(包括方法名、方法形参的个数和类型、方法返回值的类型)的成员方法,实现对父类方法的覆盖。4继承性和多态性关于方法覆盖只有当实例方法能被访问时,才能进行方法覆盖。私有方法不能被覆盖.静态方法(类方法)能被继承,但不能被覆盖。子类在重新定义父类已有的方法时,应保

3、持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。5继承性和多态性3.super关键字super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。super的使用方法有三种:(1)访问直接父类隐藏的数据成员,其使用形式如下:super.数据成员(2)调用直接父类中被覆盖的成员方法,其使用形式如下:super.成员方法(参数)(3)调用直接父类的构造方法,其使用形式如下:super(参数)示例:参看例4.26继承性和多态性4.1.3protected和final关键字1.protected关

4、键字用protected修饰的成员变量可以被三种类所引:该类自身、与它在同一个包中的其它类及在其它包中的该类的子类。2.final关键字使用final关键字可以定义常量。定义类时,在class关键字前加关键字final,表示此类是最终类,不能被其它类继承,不能做父类。用final修饰成员方法,表示此方法不能被它的子类覆盖。7继承性和多态性3.native关键字native修饰的方法称为本地方法,此方法使用的目的是为了将其它语言(例如,C、C++、FORTRAN、汇编等)嵌入到Java语言中。这样可以充分利用已经存在的其它语言的程序功能模块,避免重复编程。8继承性和多态

5、性4.2多态性多态是面向对象程序设计语言的一个重要特性,在Java中,可以在同一类或不同类中定义名称相同但是操作不同的多个方法,多态性指的是运行时判断应该执行哪个方法代码的能力,这种能力也叫动态绑定。在Java语言中,多态性分为编译时多态性和运行时多态性。编译时的多态性是通过方法重载实现的,Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。9继承性和多态性运行时的多态性是Java多态性的最重要的体现,在Java语言的继承关系中,子类对象与父类对象之间有一个重要特性:在任何需要父类对象的地方,都可以使用子类对象来代替,即子类对象可以作为父类对象来使用。一

6、个对象可以通过引用子类的实例来调用子类的方法,通常,方法在父类中定义,在子类中覆盖,子类中调用哪个方法是在运行时决定的,取决于对象的类型,称为运行时的多态性。示例:参看例4.310继承性和多态性4.3抽象类和接口抽象类体现数据抽象的思想,是实现程序多态性的一种手段。接口则是Java中实现多重继承的唯一途径。4.3.1抽象类抽象类的作用在于将许多有关的类组织在一起,提供一个公共的类,即抽象类,而那些被它组织在一起的具体的类做为它的子类由它派生出来。定义一个抽象类的格式如下:abstractclassabstractClass{/*类定义体*/}抽象方法是指在返回值类型前

7、加上abstract关键字,且没有方法体。格式如下:abstract<返回值类型><抽象方法名>([<形式参数列表>]);示例:参看例4.411继承性和多态性对于抽象类与抽象方法的限制(1)凡是用abstract修饰符修饰的类被称为抽象类。凡是用abstract修饰符修饰的成员方法被称为抽象方法;(2)抽象类中可以有零个或多个抽象方法,也可以包含非抽象的方法;(3)抽象类中可以没有抽象方法,但是,有抽象方法的类必须是抽象类;(4)对于抽象方法来说,在抽象类中只指定其方法名及其类型,而不书写其实现代码;(5)抽象类可以派生子类,在抽象类派生的子类中必须

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

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

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