型がインターフェイスである参照変数に割り当てられるオブジェクトは、インターフェイスを実装するクラスのインスタンスである可能性があることを知っています。ただし、次のコード ブロックの場合:
public interface foo {
public abstract void method_1();
}
class bar implements foo {
@Overide
public void method_1() { //Implementation... }
public void method_2() { //Do some thing... }
}
.....
foo variable = new bar();
variable.method_1(); // OK;
variable.method_2(); // Is it legal?
変数(宣言された型は foo ですが、実際の型は bar です) に、インターフェイスで宣言されていないメソッド_2 を呼び出させることはできますか? 前もって感謝します!