Semicolonless JavaのほかにもJavaのサブセット言語はあって、そのひとつがClassless Javaだ。
public interface HelloWorld { static Object o = new Object() {{ System.out.println("Hello world!"); System.exit(0); }}; }
Classless JavaはJava言語仕様からclassキーワードを除去しただけの単純な言語仕様だが、interfaceやアノテーションの@interfaceを利用したオブジェクト指向を行うことができる。
実装は主に匿名クラスによってなされるが、java.lang.reflect.Proxyクラスによってinterfaceに動的な実装を与えるのも面白い。Semicolonless Javaに比べると簡単なので試してみるといいだろう。