diff --git a/day10/src/com/inmind/interface_poly10/Demo11.java b/day10/src/com/inmind/interface_poly10/Demo11.java new file mode 100644 index 0000000..a9d63a5 --- /dev/null +++ b/day10/src/com/inmind/interface_poly10/Demo11.java @@ -0,0 +1,23 @@ +package com.inmind.interface_poly10; +/* +多态的前提: +1.继承或实现,二选一 +2.要有重写 +3.父类(接口)引用指向子类(实现类)对象 + +接口的多态: +父类类型 对象名 = new 子类类型(); +接口类型 对象名 = new 该接口的实现类对象(); + */ +public class Demo11 { + public static void main(String[] args) { + + //普通的实现类对象 + MyInterfaceImpl impl1 = new MyInterfaceImpl(); + //接口的多态 + MyInterface impl2 = new MyInterfaceImpl(); + //多态的口诀:1.父类引用指向子类对象 2.编译看左边,运行看右边 + impl2.method(); + + } +} diff --git a/day10/src/com/inmind/interface_poly10/MyInterface.java b/day10/src/com/inmind/interface_poly10/MyInterface.java new file mode 100644 index 0000000..b286569 --- /dev/null +++ b/day10/src/com/inmind/interface_poly10/MyInterface.java @@ -0,0 +1,5 @@ +package com.inmind.interface_poly10; + +public interface MyInterface { + void method(); +} diff --git a/day10/src/com/inmind/interface_poly10/MyInterfaceImpl.java b/day10/src/com/inmind/interface_poly10/MyInterfaceImpl.java new file mode 100644 index 0000000..0ae7600 --- /dev/null +++ b/day10/src/com/inmind/interface_poly10/MyInterfaceImpl.java @@ -0,0 +1,12 @@ +package com.inmind.interface_poly10; + +public class MyInterfaceImpl implements MyInterface{ + @Override//标记当前是重写的方法 + public void method() { + System.out.println("实现类重写了抽象方法"); + } + + public void show(){ + System.out.println("实现类独有的方法"); + } +}