java – 什么是运行时绑定?

前端之家收集整理的这篇文章主要介绍了java – 什么是运行时绑定?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在浏览 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类的参考
它有B类对象的地址
f2()是一个重写方法.

当编译器检测到这样的语句时
然后它不会将函数调用与任何绑定
定义.它只验证通话.

这些调用的绑定留给运行时环境.在程序运行时系统识别对象的数据类型并绑定函数调用函数定义提供的对象类.这种类型的功能之间的绑定调用函数定义称为“后期绑定”或“运行时绑定”或“运行时多态”或“动态方法调度”.

猜你在找的Java相关文章