1. 当调用对象方法的时候,该方法会和该对象的内存地址/运行类型相绑定。
    2. 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用。 ```java public class Dynamic { public static void main(String[] args) {
      1. //a 的编译类型 A, 运行类型 B
      2. A a = new B();//向上转型
      3. System.out.println(a.sum());//?40 -> 30
      4. System.out.println(a.sum1());//?30-> 20
      } }

    class A {//父类 public int i = 10; //动态绑定机制:

    1. public int sum() {//父类sum()
    2. return getI() + 10;//20 + 10
    3. }
    4. public int sum1() {//父类sum1()
    5. return i + 10;//10 + 10
    6. }
    7. public int getI() {//父类getI
    8. return i;
    9. }

    }

    class B extends A {//子类 public int i = 20;

    // @Override // public int sum() { // return i + 20; // }

    1. @Override
    2. public int getI() {//子类getI()
    3. return i;
    4. }

    // @Override // public int sum1() { // return i + 10; // } } ``` image.png