为什么匿名内部类不包含从此代码生成的任何内容?
package com.test;
public class OuterClass {
public class InnerClass {
public class InnerInnerClass {
}
}
public class InnerClass2 {
}
//this class should not exist in OuterClass after dummifying
private class PrivateInnerClass {
private String getString() {
return "hello PrivateInnerClass";
}
}
public String getStringFromPrivateInner() {
return new PrivateInnerClass().getString();
}
}
当在命令行上运行时,此代码将生成 6 个.class文件:javac
Sun JVM 1.6.0_20
OuterClass.class
OuterClass$1.class
OuterClass$InnerClass.class
OuterClass$InnerClass2.class
OuterClass$InnerClass$InnerInnerClass.class
OuthereClass$PrivateInnerClass.class
在 eclipse 中通过 JDT 运行时,它只生成 5 个类。
OuterClass.class
OuterClass$1.class
OuterClass$InnerClass.class
OuterClass$InnerClass2.class
OuterClass$InnerClass$InnerInnerClass.class
OuthereClass$PrivateInnerClass.class
反编译时,不包含任何内容。这个额外的类来自哪里,为什么创建它?OuterClass$1.class