java绑定是什么_java – 什么是运行时绑定?

继承创建类型兼容性.

它允许超类引用

指的是子类的对象.

(反向不是真的).

一个超类引用,指的是

子类的对象,只能用于

访问继承和重写

子类的方法.

在子类中新定义的成员

无法参考

超级.

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()是一个重写方法.

当编译器检测到这样的语句时

然后它不会将函数调用与任何绑定

定义.它只验证通话.

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值