多态: 父类的引用类型变量指向了子类的对象或者是接口类型的引用类型变量指向了接口实现类 的对象。
实现关系下的多态:接口 变量 = new 接口实现类的对象。
接口
public abstract interface InterA {
public abstract void show();
}
实现类
public class InterAlmpl implements InterA {
@Override
public void show() {
System.out.println("默认方法show!!");
}
}
测试类
package jiekou.dmeo09;
public class Test {
public static void main(String[] args) {
//实现关系下的多态
InterA i = new InterAlmpl(); //接口的引用类型变量指向了接口实现类的对象。
i.show();//编译看左边,运行看右边 首先看InterA接口有没有add这个方法,编译成功
//然后运行看右边,实际上是运行的是InterAlmpl这个的方法
}
}
结果
Inter i=new Interlmpl()
就是用父类i引用了子类 Interlmpl的对象
编译就看父类Inter 有没有这个变量或者方法 实现看子类Interlmpl的方法或者变量