1,多态参数
- 假设有一个方法A,方法A的形参是一个接口B引用,那么这个方法A就可以传任意一个,实现了接口B的类的对象,并可以可以用传进来的对象调用他们各自实现了的抽象类。
- 接口引用还可以指向实现了接口类的对象
Interface interface = new Phone();//左边为接口引用,右边为实现该接口类的对象
2 多态数组
public static void main(String[] args) {
Interface_[] usb = new Interface_[2];
usb[0] = new Phone_();
usb[1] = new Camera_();
for (int i = 0; i < usb.length; i++) {
usb[i].start();
usb[i].stop();
if (usb[i] instanceof Phone_){
((Phone_)usb[i]).call();
}
}
}
3,接口存在多态传递现象
interface IH{}//接口IH
interface IG implements IH{}//IG 接口插入了 IH
class Teacher implements IG{}//Teacher类插入了IG接口
//此时 Teacher 类要同时实现 IG,IH 接口
//IH 接口的引用可以指向 Teacher 类的对象
//IG 接口的引用也可以指向 Teacher 类的对象
//这就是所谓的 接口多态传递现象