Why does Java allow such strange code using inner class to pass compilation?

Here’s what I get:

$ javac -version
javac 1.6.0_26
$ javac Hello.java
Hello.java:31: cannot find symbol
symbol  : class C
location: class Test
        C c = new C();
        ^
Hello.java:31: cannot find symbol
symbol  : class C
location: class Test
        C c = new C();
                  ^
2 errors

Are you 100% sure you are able to compile that code?

Leave a Comment