インタフェースで部品化徹底 において、インタフェースはインスタンスを作ることができないと書きましたが、無名クラスを使うと、インタフェースがインスタンス化されたかのようなコードになります。 package kihon; public class Sample { public static void main( String args[] ) { Cafe cafe=new Cafe(){ public void welcome(){ System.out.println("いらっしゃいませ"); } }; cafe.welcome(); } } interface Cafe{ public void welcome(); } 実行結果 :いらっしゃいませ。 上の例の場合、本来であれば、Cafeインタフェースを実装したクラスを定義して、そのクラスのインスタンスを作ってメソッドを実行するのが筋