java学习之多态和动态捆绑
来源:互联网 发布:java试用期岗位职责 编辑:程序博客网 时间:2024/05/05 12:48
多态
一个对象变量可以指示多种实际类型的现象被称为多态
在Java程序设计语言中,对象变量是多态的。如一个超类变量既可以用引用超类对象,也可以引用一个超类的任何一个子类的对象。
注意:
- 不能将一个超类的引用赋给子变量。
- 在Java中,子类数组的引用可以转换为超类数组的引用,而不需要采用强制类型转换,但需要注意的是所有数组都要牢记创建它们的元素类型,并负责监督仅将类型兼容的引用存储到数组中。
动态捆绑
在运行时能够自动地选择调用哪个方法的现象称为动态绑定
下面是动态绑定调用过程详细描述:
- 编译器查看对象的声明类型和方法名。
- 接下来,编译器将查看调用方法是提供的参数类型(重载解析),至此,编译器已获得需要调用的方法名和参数类型。
- 然后查看修饰符,如果是
private
方法、static
方法、final
方法或者构造器,那么编译器将可以准确的知道调用哪个方法,我们将这种调用方式称为静态绑定 。 - 最后虚拟机通过查找方法表(列出了所有方法的签名和实际调用方法)寻找对应的方法。
小概念:
- 方法的名字和参数列表称为方法的签名。
- 返回类型不是签名的一部分,在覆盖方法时,一定要保证返回类型的兼容性。允许子类将覆方法的返回类型定义为原返回类型的子类型。
final
类和方法:- 不允许扩展的类被称为
final
类。 - 对于final域来说,构造对象之后就不允许改变它们的值了。
- 如果将一个类声明为
final
,只有其中的方法自动地成为final
,而不包括域。
- 不允许扩展的类被称为
0 0
- java学习之多态和动态捆绑
- java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- Java学习之多态
- JAVA基础学习之多态
- Java学习札记之多态
- java对象数组的声明和初始化
- JFreeChart—输出饼状图
- Android命名规范
- 数据库系统概论之查询
- hdu 1037
- java学习之多态和动态捆绑
- win8 64+theano+keras
- POJ 1450 && HDU 1046 Gridland(计算几何)
- 黑马程序员--Try...catch...finally语句总结
- 自学Swift-斯坦福笔记整理(五)
- Maven常用命令
- java基础—FileWriter 的使用
- 日常3--ueitor
- CCProxy的使用