package dynamicBinding; public class DynamicBinding { public static void main(String[] args) { B b = new B(); System.out.println(b.sum()); // 方法看左,调用A().sum() 时遇到GetI(),会调用B类中的GetI()方法 System.out.println(b.sum1()); // 属性看右,调用A().sum1()时遇到i,会调用A类中的i属性 } } class A{ private int i=10; public int sum(){ return GetI() + 20; } public int sum1(){ return i + 10; } public int GetI(){ return i; } } class B extends A{ private int i=20; // public int sum(){ // return GetI() + 20; // } // // public int sum1(){ // return i + 10; // } public int GetI(){ return i; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)