class Base {

 int i;

 Base() {add(1);}

 void add(int v) {

    i+= v;

 }

 void print() {System.out.println(i);}

}

class Extension extends Base {

 Extension(){add(2);}

 void add(int v) {

   i+= v*2;

 }

}

public class PolyTester {

 public static void main(String args[]) {

    bogo(new Extension());

 }

 static void bogo(Base b) {

   b.add(8);

   b.print();

 }

}

//结果 22





大家帮忙分析一下 这里的结果为什么是22呢

我知道这里有子类覆盖了父类的方法 那这里会不会调用父类的方法呢 好多不懂呢 帮忙分析一下啊



1.读万卷书
2.行千里路
3.阅人无数