java的动态绑定机制

java的动态绑定机制,第1张

java的动态绑定机制

java的动态绑定机制@TOC

java的动态绑定机制

//a 的编译类型 A, 运行类型 B
A a = new B();//向上转型
规则:

  1. 属性没有动态绑定机制,在那个类里就调用哪个属性
  2. 调用方法时会和运行时类型绑定即B类
  3. 动态绑定机制不影响继承机制的作用,即子类没有的属性和方法会去父类中找

调用方法时会和运行时类型绑定即B类

public class DynamicBinding {
public static void main(String[] args) {
//a 的编译类型 A, 运行类型 B
Aa = new B();//向上转型
System.out.println(a.sum());//?40 -> 30
System.out.println(a.sum1());//?30-> 20
}
}
class A{//父类
public int i = 10;
//动态绑定机制:
public int sum() {//父类 sum()
return getI() + 10;//20 + 10
}
public int sum1() {//父类 sum1()
return i + 10;//10 + 10
}
public int getI() {//父类 getI
return i;
}
}
class B extends A{//子类
public int i = 20;
// public int sum() {
// return i + 20;
// }
public int getI() {//子类 getI()
return i;
}
// public int sum1() {
// return i + 10;
// }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5583506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存