黑马程序员技术交流社区

标题: 一道题大家看看 不知道结果我问我 [打印本页]

作者: 屠赞华    时间: 2015-4-5 18:59
标题: 一道题大家看看 不知道结果我问我
class A
{
public void show()
{
  show2();
}

public void show2()
{
  System.out.println("我");
}
}
class B extends A
{
public void show2()
{
  System.out.println("爱");
}
}
class C extends B
{
public void show()
{
  super.show();
}

public void show2()
    {
  System.out.println("你");
}
}
public class Test4
{
public static void main(String[] args)
{
  A a = new B();
  a.show();
  B b = new C();
  b.show();
}
}

作者: natsu647    时间: 2015-4-5 19:39
结果是“爱你”
a.show()和b.show()都指向了class A的show();
然后又分别指向了class B重写class A的show2() 和 class C重写class B的show2()

作者: 野马奔腾    时间: 2015-4-5 22:27
natsu647 发表于 2015-4-5 19:39
结果是“爱你”
a.show()和b.show()都指向了class A的show();
然后又分别指向了class B重写class A的show2 ...

能帮忙解释下  A a = new B();   这个语句的具体调用流程吗?
谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2