黑马程序员技术交流社区
标题:
一个程序分析题
[打印本页]
作者:
刘凯
时间:
2013-2-22 22:28
标题:
一个程序分析题
本帖最后由 刘凯 于 2013-2-22 23:32 编辑
class Egg2
{
protected class Yolk
{
public Yolk()
{
System.out.println("Egg2.Yolk()");
}
public void f()
{
System.out.println("Egg2.Yolk.f()");
}
}
private Yolk y = new Yolk();
public Egg2()
{
System.out.println("New Egg2()");
}
public void insertYolk(Yolk yy) { y = yy; }
public void g() { y.f(); }
}
public class BigEgg2 extends Egg2
{
public class Yolk extends Egg2.Yolk
{
public Yolk()
{
System.out.println("BigEgg2.Yolk()");
}
public void f()
{
System.out.println("BigEgg2.Yolk.f()");
}
}
public BigEgg2() { insertYolk(new Yolk()); }
public static void main(String[] args)
{
Egg2 e2 = new BigEgg2();
e2.g();
}
}
复制代码
出结果是
Egg2.Yolk()
New Egg2()
Egg2.Yolk()
BigEgg2.Yolk()
BigEgg2.Yolk.f()
求分析
作者:
刘凯
时间:
2013-2-22 23:32
自个参悟出来了 。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2