day10-接口和实现类的多态
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package com.inmind.duotai_interface11;
|
||||
|
||||
import com.inmind.object_cast10.Animal;
|
||||
import com.inmind.object_cast10.Cat;
|
||||
|
||||
/*
|
||||
类的多态 :父类引用指向子类对象
|
||||
接口的多态:接口引用指向实现类对象
|
||||
*/
|
||||
public class Demo11 {
|
||||
public static void main(String[] args) {
|
||||
MyInterfaceImpl myInterfaceImpl = new MyInterfaceImpl();//普通写法
|
||||
Animal animal = new Cat();//向上转型
|
||||
//接口引用指向实现类对象
|
||||
MyInterface myInterface = new MyInterfaceImpl();//接口的多态(接口的向上转型)
|
||||
myInterface.method();//编译看左边,运行看右边
|
||||
if (myInterface instanceof MyInterfaceImpl){//接口的类型判断
|
||||
MyInterfaceImpl impl = (MyInterfaceImpl) myInterface;//接口的向下转型
|
||||
impl.method1();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.inmind.duotai_interface11;
|
||||
|
||||
public interface MyInterface {
|
||||
void method();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.inmind.duotai_interface11;
|
||||
|
||||
public class MyInterfaceImpl implements MyInterface{
|
||||
@Override
|
||||
public void method() {
|
||||
System.out.println("实现类实现了method方法");
|
||||
}
|
||||
|
||||
public void method1(){
|
||||
System.out.println("实现类1中method1方法");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user