privae修饰符修饰的方法,不能被覆盖,所以你在Zi类中定义的那个show方法,是属于子类中的新方法。
print方法你没有重写,其调用的仍然是父类的show方法。
因为上面说了,Zi类中的show方法是Zi类扩展的,不属于重写,所以不会去调用Zi类中的show方法。
如果你需要print方法输出ZI,可以重写print方法的实现。:- class Fu
- {
- private String show()//此方法用private修饰
- {
- return "Fu";
- }
- public void print()
- {
- System.out.println(show());
- }
- }
- class Zi extends Fu
- {
- public String show()//重新定义一个与父类一样的show方法
- {
- return "Zi";
- }
- public void print()
- {
- System.out.println(this.show());
- }
- }
- class Test
- {
- public static void main(String[] args)
- {
- Zi zi = new Zi();
- zi.print();//这里打印的是什么?
- }
- }
复制代码 |