提示:本文为学习java基础篇的笔记 详解视频见于
B站
【零基础 快速学Java】韩顺平 零基础30天学会Java
文章目录
- 前言
- 一、Java的动态绑定机制是什么?
- 二、快速入门案例
- 总结
前言
Java重要特性:动态绑定机制。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Java的动态绑定机制是什么?
1.当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定
2.当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用。
二、快速入门案例
代码如下(示例):
DynamicBinding.java:
public class DynamicBinding {
public static void main(String[] args) {
A a=new B();
System.out.println(a.sum());//30
System.out.println(a.sum1()); //20
}
}
class A {
//父类
public int i = 10;
//动态绑定机制
public int sum() {
return getI() + 10;
}
public int sum1() {
return i + 10;
}
public int getI() {
return i;
}
}
class B extends A {
public int i = 20;
// public int sum() {
// return i + 20;
// }
public int getI() {
return i;
}
// public int sum1() {
// return i + 10;
// }
}
当父类的引用指向子类的对象时,案例中a的方法先从其运行类型的类中查找如果没有按照规则依次向其父类及以上查找,调用的属性则是其编译类型的类中的属性。(重点)
运行类型:
具体详解视频见于: 韩顺平Java_动态绑定机制
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Java的动态绑定机制,在具体运用时需要注意引用的变量的编译类型和运行类型,按照其规则进行调用方法和属性。