Jabber,I need your help again,thanks ahead!

forever (kp)
I am learning thinking in Java,the following is an example in the book
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();
}
}
the result is :
Egg2.Yolk()
New Egg2()
Egg2.Yolk()
BigEgg2.Yolk()
BigEgg2.Yolk.f()
I do not know why the second Egg2.yolk() appears,can you explain the example briefly to me ,thank you very much!!!
(#17355@0)
2000-12-6 -05:00

回到话题: Jabber,I need your help again,thanks ahead!

回到论坛: HOME枫下论坛枫下论坛主坛工作学习IT杂谈

URL:   
http://www.rolia.net/zh/post.php?f=0&p=17355