java面向对象上:多态和抽象
来源:互联网 发布:魅族手机仅限数据连接 编辑:程序博客网 时间:2024/05/16 15:58
9 、多态和抽象:
多态:
相同的行为不同的实现就是多态。
多态分为两种:静态多态和动态多态。
静态多态指程序在编译时,系统就能决定调用哪个方法。重载和重写就属于静态多态。
动态多态指在运行中程序才能动态确定方法所指的对象。
多态的技术:
使用动态绑定和重写机制来实现多态。
向上转型技术:由小变大自动转换;
instanceod关键字也是操作符boolean:用于判断运行时对象的真正类型;
动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法。
引用数据类型转换只能发生在有继承关系的类上;父类引用可以指向子类对象,父类也可以指向子类的子类对象;子类引用不能指向父类。
两种情况允许强制转换:1、本类的引用指向本类的对象,父类的引用指向子类的对象。
引用不用是自动释放,垃圾回收起永远只回收对象。
Object的引用可以指向所有引用类的对象;Object[]可以存放任意引用类型。
多态的主要应用:
多态参数:public void payemployee(employee e){};
异构结合:不是同一类型,但是有共同父类的数据集合,不同对象的集合称为异构集合。
Object[]不能存放基本数据类型,如存放基本类型的数据会直接转换成引用数据类型。因为Object存的是引用,用引用来指向地址。
多态总结:
1、使用父类类型的应用指向子类的对象;
2、该引用只能调用父类中定义的方法,不能调用子类中独有的方法;
3、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法。
4、在多态中,子类可以调用父类中的所有方法。
抽象:
抽象类:不能产生对象。
public abstract class father{}
使用关键字abstract可以声明一个抽象类,该关键字可以出现在声明时class前的任何地方。
abstract关键字不能用于修饰属性,只能用于类和方法。
抽象类的作用是用来继承,它与最终类相反。
抽象类也有构造方法,它会强制子类重写父类抽象方法,抽象类可以没有抽象方法,但是有抽象方法一定是抽象类,不管有几个。
抽象方法:
public abstract void play();不能有花括符,可以有接收和返回。
abstract是可选修饰符,可以多个组合,但是abstract不能和final组合。
将一个方法声明为抽象方法有两个结果:
1、类也必须声明为抽象类,
2.任何子类必须重写抽象方法,除非子类本身也是抽象的。
- java面向对象上:多态和抽象
- java面向对象,接口和抽象类.
- java面向对象 第一章 抽象和封装
- Java面向对象05-抽象方法,抽象类和接口
- Java面向对象-抽象方法和抽象类
- java面向对象编程(OOP):封装、抽象、多态和继承
- 黑马程序员---面向对象:继承、抽象、接口和多态
- 面向对象特性——多态和抽象
- 面向对象的抽象、接口和多态总结
- java 面向对象 接口 抽象
- JAVA面向对象之抽象
- JAVA面向对象-----抽象类
- Java面向对象-抽象类
- 复习 3 java 面向对象之接口和抽象
- java基础-面向对象(接口和抽象类)
- JAVA面向对象之抽象类和接口
- java基础--3.面向对象-5.抽象类和接口
- 使用Java实现面向对象编程-->抽象和封装
- Cisco与Linux的NAT-Linux实现Cisco风格的NAT
- opnet包处理问题
- 第七章 Libgdx之Preferences
- Ubuntu 下 Bumblebee实现 Optimus(降温效果明显)
- 从零单排3
- java面向对象上:多态和抽象
- 移动建模工具
- 11.限制某个类所能产生的对象数量——之二
- Android基站定位
- Oracle查询
- 构建关系树
- 在iOS上绘制自然的签名
- Word Search
- MyEclipse中Derby的基本使用