在java中调用接口声明的方法,该接口的是如何找到实现类中对应的方法的?

例如我在程序中调用了接口A的save()方法,而B实现了接口A,那么此时调用接口A的save()方法,A会找到他的实现类B并调用B中的save()方法吗?原理是什么?... 例如我在程序中调用了接口A的save()方法,而B实现了接口A,那么此时调用接口A的save()方法,A会找到他的实现类B并调用B中的save()方法吗?原理是什么? 展开
 我来答
梦非梦亦非梦
2015-10-28 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:57
采纳率:0%
帮助的人:59.4万
展开全部
所谓多态,是把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,但子类实例的本身类型没有改变;如:
A x = new B();
这里虽然是声明了一个 A 类型变量,但 x 的值仍然是指向一个B类型,也就是说x.save()是直接调用 B 类对象的save方法,并没有通过其他方式,它本身就是B类型对象,你可以打印信息 println(x.getClass()) ,它输出的是 B 类而不是 A 类。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式