关于接口引用调用实现类新方法的问题
大家好,我的问题简单的来说,就是在程序中的一个接口引用,来new一个实现类的对象,但是如果用到了实现类中一个新的方法,这个方法没有在接口定义,应该怎么解决这个问题呢?例如:
interface MyInterface {
void method();
}
public class MyClass implements MyInterface {
@override
void method(){}
void newMethod(){}
}
public class Test {
public static void main(String[] args) {
MyInterface mi = new MyClass();
mi.method(); //可以调用
mi.newMethod(); //出错,无法调用
}
}
如上述简单的例子,我们都知道MyInterface的引用mi是无法调用newMethod()的,但是又不想在接口中添加这个方法(为了避免其它实现了这个接口的类也要实现newMethod()方法),难道就只能把接口引用改成实现类引用了吗?