多态和抽象
多态:所谓多态,英文单词为polymorphism,这个英文单词是由单词poly(意思是很多或多个)和morph(意思是形状或形式)组成的复合词。多态一词最早出现在生物学,是指生物学的一个基本原则:一个生物或物种可以有多种不同的形式或阶段。面向对象编程吸收了这一原则,在OOP中,多态是指一个对象有多种形式的能力。一个类的子类可以定义它们唯一的行为,同时共享父类的某些相同特征。
在Java中,使用动态绑定和重写机制来实现多态,我们首先需要掌握如下三个基础技术概念:
向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子对象可以被当作一个父类类型。
instanceof关键字:instanceof关键字用于判断运行时对象的真正类型。
动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而实现多态性。
多态的应用主要体现了两个方面:1.多态参数:当方法的某个形式参数时一个引用的时候,与该引用兼容的任何对象都可以传递个方法,从而允许方法接受不同数据类型的形式参数,2.异构集合,不同的对象的集合到数组。
抽象:不存在的概念,如果我们不需要类的实例时,就可以将类设计成为一个抽象类,在public后写关键字。
使用abstract修饰的类和方法叫做抽象类和方法。将方法变成抽象后就不需要方法体,子类必须重写该方法。
抽象类的出现解决了多个类重复创建相同名字的方法,提高了代码的扩展性。

浙公网安备 33010602011771号