class A {
void printA() {
System.out.println("hello-------A");
}
abstract class A1 {
public abstract void printA1();
}
interface B {
public void printB();
}
}
class X extends A {
void printA() {
System.out.println("hello-------A");
}
class M extends A1 {
public void printA1() {
System.out.println("hello-------A1");
}
}
class Y implements B {
public void printB() {
System.out.println("hello-------B");
}
}
}
public class Demo2 {
public static void main(String[] args) {
A a = new X();
a.printA();
A.B b = new X.Y();
b.printB();
A.A1 a1 = new X.M();
a1.printA1();
}
}作者: 执笔梦 时间: 2014-8-7 20:44 本帖最后由 执笔梦 于 2014-8-7 20:48 编辑
这看起来就心碎了,
不能直接new X.Y();这样创建内部类对象..要先创建外部类对象,
-----:改为的意思。
1,2代表方案。
1.
A.B b = new X.Y(); ---- A.B b = new X().new Y();
A.A1 a1 = new X.M(); ----- A.A1 a1 = new X().new M();
2. A a = new X(); -----X a = new X();
A.B b = a.new Y();
A.A1 a1 = a.new M();