java – 什么是运行时绑定?
发布时间:2020-09-25 09:44:57 所属栏目:Java 来源:互联网
导读:我正在浏览 android开发培训文档并偶然发现: “Intent是一个在不同组件之间提供运行时绑定的对象(例如两个活动).” 任何人都在关心解释什么是运行时绑定? 谢谢! 继承创建类型兼容性. 它允许超类引用 指的是子类的对象. (反向不是真的). 一个超类引用,指的
|
我正在浏览 android开发培训文档并偶然发现: “Intent是一个在不同组件之间提供运行时绑定的对象(例如两个活动).” 任何人都在关心解释什么是运行时绑定? 谢谢! 解决方法继承创建类型兼容性.它允许超类引用 指的是子类的对象. (反向不是真的). 一个超类引用,指的是 class A {
void f1() { //this holds address of object of B
System.out.println("A f1");
}
void f2() {
System.out.println("A f2");
}
}//A
class B extends A {
void f3() { //new method
System.out.println("B f3");
}
void f2() { //this holds address of object of B
System.out.println("B f2 starts");
f3(); //this.f3()
System.out.println("B f2 ends ");
} } //B
class TypeCmptbl {
public static void main(String args[]) {
A ref; //reference of A
ref = new B();//Object of B
//ref.inherited() allowed
ref.f1();
//ref.overridden() allowed
ref.f2();
//ref.newMembersOfChild() not allowed
//ref.f3();
}//main
}
考虑一下这句话 ref.f2(); 这里ref是A类的参考 当编译器检测到这样的语句时 这些调用的绑定留给运行时环境.在程序运行时系统识别对象的数据类型并绑定函数调用与函数定义提供的对象类.这种类型的功能之间的绑定调用和函数定义称为“后期绑定”或“运行时绑定”或“运行时多态”或“动态方法调度”. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
