内部类的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:43:14
class Outer{
Inner in;
Outer(){ in=new Inner();}
public class Inner
{
public Inner(){System.out.println("inner of outer");}
}
}
public class SubOuter extends Outer {
class Inner{
public Inner(){System.out.println("inner of subouter");}
}

public static void main(String[] args) {
SubOuter.Inner in1=new SubOuter().new Inner();
Outer.Inner in2=new Outer().new Inner();

}

}
谁能帮我讲讲具体的实现步骤,详细点!
SubOuter.Inner in1=new SubOuter().new Inner();
Outer.Inner in2=new Outer().new Inner();
主要是这两句的解释,还有内部类好像不能覆盖吧!

class Outer{
Inner in; //声明一个内部类
Outer(){ in=new Inner();} //构造方法初始化内部类
public class Inner //内部类
{
public Inner(){System.out.println("inner of outer");} //构造方法初始化,用来打印一句话
}
}

public class SubOuter extends Outer { //子SubOuter 继承父Outer
class Inner{
public Inner(){System.out.println("inner of subouter");} // 重写父类的Inner方法
}

public static void main(String[] args) { //测试
SubOuter.Inner in1=new SubOuter().new Inner(); //调用子类的构造方法 初始化
Outer.Inner in2=new Outer().new Inner(); //调用父类的构造方法 初始化