调用接口的方法两种情况:
1:你已经实例化了这个接口
2:定义一个方法,给他的参数就是这个接口的类型。
这样就可以编译成功了。
但是同样,你给编译器一个假象。
编译器也还给你一个假象。就是没结果,彼此彼此
所以看出:调用一个方法必然是需要实例化的。
回到面向对象这一节:
你们班同学每个人都是不同的类,都同属于统一班级,
都有一个共同的技能:认真听课。
你可以调用这个方法
也可以通过你们的班级这个接口调用这个方法让你听课。
例:xxx班的xxx认真听课。
同样的,你还属于你们村。
你们村的人都有一个技能,唱歌
你自己可以去唱歌。
也可以通过xxx村的xxx去唱歌。
很明显,班级不会听课。
村子也不能唱歌。
都是需要一个具体的你进行操作的。
所以,一个接口只是一种类型。
不管它被实现了多少次,怎么实现的。
都跟你没有一点关系。
类型本身是没有操作的,除非你给他了一个对象。
不要纠结于他是怎么调用的。
你把对象都给他了 ,还问他怎么调用的。
还有一种可能,你的当前类继承了一个实现这个接口的类。
你自己就是这个对象!!!
问题明明就是这么简单,别自己想复杂了。