关于接口引用调用实现类新方法的问题

backet007 backet007 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家好,我的问题简单的来说,就是在程序中的一个接口引用,来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()方法),难道就只能把接口引用改成实现类引用了吗?
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
backet007
Java SE 62,621 成员 307,251 内容