标签:
package com.mufeng.thetenthchapter;
class Egg {
	private Yolk y;
	public Egg() {
		// TODO Auto-generated constructor stub
		System.out.println("new Egg()");
		y = new Yolk();
	}
	protected class Yolk {
		public Yolk() {
			// TODO Auto-generated constructor stub
			System.out.println("Egg.Yolk()");
		}
	}
}
public class BigEgg extends Egg {
	public class Yolk {
		public Yolk() {
			// TODO Auto-generated constructor stub
			System.out.println("BigEgg.Yolk()");
		}
	}
	public static void main(String[] args) {
		new BigEgg();
	}
}
new Egg() Egg.Yolk()
package com.mufeng.thetenthchapter;
class Egg2 {
	private Yolk y = new Yolk();
	public Egg2() {
		// TODO Auto-generated constructor stub
		System.out.println("new Egg2()");
	}
	protected class Yolk {
		public Yolk() {
			// TODO Auto-generated constructor stub
			System.out.println("Egg2.Yolk()");
		}
		public void f() {
			System.out.println("Egg2.Yolk().f()");
		}
	}
	public void insertYolk(Yolk yy) {
		y = yy;
	}
	public void g() {
		y.f();
	}
}
public class BigEgg2 extends Egg2 {
	public BigEgg2() {
		// TODO Auto-generated constructor stub
		insertYolk(new Yolk());
	}
	public class Yolk extends Egg2.Yolk {
		public Yolk() {
			// TODO Auto-generated constructor stub
			System.out.println("BigEgg2.Yolk()");
		}
		public void f() {
			System.out.println("BigEgg2.Yolk().f()");
		}
	}
	public static void main(String[] args) {
		Egg2 e2 = new BigEgg2();
		e2.g();
	}
}
Egg2.Yolk() new Egg2() Egg2.Yolk() BigEgg2.Yolk() BigEgg2.Yolk().f()
标签:
原文地址:http://blog.csdn.net/u013693649/article/details/52116224