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();
}
}
При запуске javac
в командной строке с Sun JVM 1.6.0_20
этот код создает 6 файлов .class:
OuterClass.class
OuterClass $1.class
OuterClass $InnerClass.class
OuterClass $InnerClass2.class
OuterClass $InnerClass $InnerInnerClass.class
OuterClass $PrivateInnerClass.class
При запуске через JDT в eclipse он производит только 5 классов.
OuterClass.class
OuterClass $1.classдел >
OuterClass $InnerClass.class
OuterClass $InnerClass2.class
OuterClass $InnerClass $InnerInnerClass.class
OuterClass $PrivateInnerClass.class
При декомпиляции OuterClass$1.class
ничего не содержит. Откуда этот дополнительный класс и почему он создан?