' P '

whatever I will forget

Java Anonymous Class

Javaでは下記のような明示的なoverrideもできる。
読み手がわかりやすいoverrideは下記のほうかな。
しかし、注意しないといけないのはoverrideされる関数はtオブジェクトのみ。
もしTest t2 = new Test()t2.start()とした場合は元々のクラス関数がcallされる。

class Test {
    public void start() {
        System.out.println("Starting...");
    }
}

class program {
    public static void main(String[ ] args) {
        Test t = new Test() {
            @Override public void start() {
                System.out.println("aaaaaaaaa");
            }
        };
        t.start();
        Test t2 = new Test();
        t2.start(); //Starting...
    }
}