再次定义的和父类的没有关系,你可以理解为子类里有两个int a,而你引用的是Foo 类型的foo,所以打印的是父类的a,你把主方法里 Foo foo=new Bar();改成Bar foo=new Bar();结果就对了。
覆盖名称相同、类型相同、范围相同、等相同的情况~~~~~~~~~~~~