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

例如我在程序中调用了接口A的save()方法,而B实现了接口A,那么此时调用接口A的save()方法,A会找到他的实现类B并调用B中的save()方法吗?原理是什么?

所谓多态,是把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,但子类实例的本身类型没有改变;如:
A x = new B();
这里虽然是声明了一个 A 类型变量,但 x 的值仍然是指向一个B类型,也就是说x.save()是直接调用 B 类对象的save方法,并没有通过其他方式,它本身就是B类型对象,你可以打印信息 println(x.getClass()) ,它输出的是 B 类而不是 A 类。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网