作者: 周朋飞 时间: 2012-6-25 01:41
class Egg2 {
protected class Yolk { //
public Yolk()// 内部类的构造函数
{
System.out.println(this.getClass().getName());
System.out.println("you lai dao l zheli ");
System.out.println("Egg2.Yolk()");
}
public void f()// 内部类的成员方法
{
System.out.println("Egg2.Yolk.f()");
}
}
private Yolk y = new Yolk();// 实例化内部类
public Egg2()// 外部类的构造方法
{
System.out.println("haishi xian lai de zheli ");
System.out.println("New Egg2()");
}
public void insertYolk(Yolk yy)// 外部类的成员方法
{
System.out.println("xian lai zhe ");
y = yy;
}
public void g() // 外部类的成员方法
{
y.f();// 调用内部的成员方法
}
}
public class T extends Egg2.Yolk {
T(Egg2 egg2) {
egg2.super();
}
public static void main(String[] args) {
Egg2 egg2 = new Egg2();
//会先实例化成员变量类
T t = new T(egg2);// 向上转型:即父类引用指向子类的实例(可以访问子类继承或覆盖的属性,不能访问子类独有的属性