interface SomeInterface {
default void someMethod() {
System.
out.
println("Some default method"); }
}
enum Dp implements SomeInterface {
A,
B,
C {
@Override
public void someMethod() {
System.
out.
println("Some other implementation"); }
}
}
class Main {
public static void main
(String[] args
) { Dp.A.someMethod();
Dp.B.someMethod();
Dp.C.someMethod();
}
}
aW50ZXJmYWNlIFNvbWVJbnRlcmZhY2UgewogICAgZGVmYXVsdCB2b2lkIHNvbWVNZXRob2QoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTb21lIGRlZmF1bHQgbWV0aG9kIik7CiAgICB9Cn0KCmVudW0gRHAgaW1wbGVtZW50cyBTb21lSW50ZXJmYWNlIHsKICAgIEEsCiAgICBCLAogICAgQyB7CiAgICAgICAgQE92ZXJyaWRlCiAgICAgICAgcHVibGljIHZvaWQgc29tZU1ldGhvZCgpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTb21lIG90aGVyIGltcGxlbWVudGF0aW9uIik7CiAgICAgICAgfQogICAgfQp9CgpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBEcC5BLnNvbWVNZXRob2QoKTsKICAgICAgICBEcC5CLnNvbWVNZXRob2QoKTsKICAgICAgICBEcC5DLnNvbWVNZXRob2QoKTsKICAgIH0KfQ==