码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记(八)多态与抽象

时间:2015-05-03 14:38:44      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

多态和抽象是从继承引出来的两个重要的概念,多态允许对象以多种形式存在,而抽象则允许创建抽象类。

多态是指一个对象有多种形式的能力。一个类的子类可以定义它们唯一的行为,同时共享父类的某些相同特征。动态多态指在运行中系统才能动态确定方法所指的对象。

多态的技术基础:

向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子对象可以被当做一个父类类型;

instanceof关键字:用于判断运行时对象的真正类型;

动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而实现多态性。

向上转型:从低精度数据类型向高精度数据类型转换时实行自动转换;向下转型:从高精度数据类型向低精度数据类型转换时,需要使用强制类型转换符。子类向父类向上转型是自动转换,父类向子类必须使用强制类型转换才能实现向下转型;转换之前先用if判断,关键字instanceof判断前对象是否是后对象的实例。ClassCastException类型转换异常。

一个方法的调用与该方法所在的类关联起来,称为绑定。

静态绑定(前期绑定):在程序执行前方法已经被绑定,此时由编译器或其他连接程序实现。针对java简单的可以理解为程序编译期的绑定,java中的方法只有final、static、private和构造器是前期绑定。

动态绑定(后期绑定):在运行时根据具体对象的类型进行绑定。java中所有的普通方法,都采用动态绑定技术。

多态的主要应用:
多态参数:就是当方法的某个形式参数是一个引用的时候,与该引用兼容的任何对象都可以传递给方法,从而允许方法接受不同数据类型的形式参数。异构集合:多态最常见的应用是创建一个不是同一类型,但是有共同父类的数据集合。不同对象的集合称为异构集合。

抽象:关键字abstract,在编写类时,通常会在类中定义一些方法,用来描述该类所具有的行为。在类的方法体中,我们编写代码实现该类所要执行的行为。修饰类:抽象类不能被实例化,需要继承(没有业务意义)。修饰方法:这个方法没有主体(主体没有实际意义)。抽象方法必须在抽象类中,抽象方法在子类中必须得到实现,除非子类也是抽象类。从设计角度看,将一个抽象方法放在父类中,可以强制任何子类实现一个特别的行为。

 

java学习笔记(八)多态与抽象

标签:

原文地址:http://www.cnblogs.com/fping/p/4458299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!