Classless Java

 Semicolonless JavaのほかにもJavaのサブセット言語はあって、そのひとつがClassless Javaだ。

public interface HelloWorld {
	static Object o = new Object() {{
		System.out.println("Hello world!");
		System.exit(0);
	}};
}

 Classless JavaJava言語仕様からclassキーワードを除去しただけの単純な言語仕様だが、interfaceやアノテーションの@interfaceを利用したオブジェクト指向を行うことができる。

 実装は主に匿名クラスによってなされるが、java.lang.reflect.Proxyクラスによってinterfaceに動的な実装を与えるのも面白い。Semicolonless Javaに比べると簡単なので試してみるといいだろう。