Java的动态机制绑定
public class DynamicBinding {
public static void main(String[] args) {
A a = new B();//向上转型
System.out.println(a.sum());
System.out.println(a.sum1());
}
}
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 a = new B();
如果我们把子类的sum方法注释掉,结果又会是咋样呢?
注释掉 子类的sum方法之后 的代码结果:
System.out.println(a.sum()); // 结果:30
System.out.println(a.sum1()); // 结果:30
欢迎留言讨论 ~~~ ( ̄▽ ̄)"