24 lines
947 B
Java
24 lines
947 B
Java
package com.inmind.duotai08.interface_duotai;
|
||
/*
|
||
接口和实现类的多态
|
||
|
||
多态的前提:
|
||
1.继承或实现
|
||
2.重写
|
||
3.父类引用指向子类对象
|
||
*/
|
||
public class Demo12 {
|
||
public static void main(String[] args) {
|
||
MyInterfaceImpl myInterface = new MyInterfaceImpl();//是不是多态???不是
|
||
//多态的格式:父类引用指向子类对象
|
||
//接口中的多态格式:接口类型 对象名 = new 实现类类型();
|
||
MyInterface myInterface1 = new MyInterfaceImpl();//多态的写法,向上转型
|
||
myInterface1.show();//编译看左边,运行看右边
|
||
//但是我就想要调用实现类的show1方法,那怎么办???
|
||
if (myInterface1 instanceof MyInterfaceImpl) {//为了类型转换时,避免出现类型转换异常,先判断类型
|
||
MyInterfaceImpl m = (MyInterfaceImpl)myInterface1; //向下转型
|
||
m.show1();
|
||
}
|
||
}
|
||
}
|