Java FAQ:ローカルクラス

Java FAQ:S016 Q-05

常に private

class C2008052901 {
    {
        public class C2008052902 {
            
        }
    }
}

public class C2008052900 {
    public static void main(String[] args) {
        new C2008052901();
    }
}

で、

C2008052900.java:4: 式の開始が不正です。
        public class C2008052902 {
        ^
C2008052900.java:4: ';' がありません。
        public class C2008052902 {
               ^
エラー 2 個

メッセージが分かりにくいな(java version "1.4.0")


java version "1.6.0_02" の場合

C2008052900.java:4: 式の開始が不正です。
        public class C2008052902 {
        ^
C2008052900.java:8: class、interface、または enum がありません。
}
^
エラー 2 個