diff --git a/day10/src/com/inmind/interface_extends07/Demo07.java b/day10/src/com/inmind/interface_extends07/Demo07.java new file mode 100644 index 0000000..c181efb --- /dev/null +++ b/day10/src/com/inmind/interface_extends07/Demo07.java @@ -0,0 +1,24 @@ +package com.inmind.interface_extends07; +/* +类的继承:单继承的,一个类永远都只能有一个直接父类 + +接口继承,接口是多继承的,接口可以有很多个直接父类 +注意事项: +1.如果是继承,子接口可以继承所有父接口的抽象方法的,子接口的实现类必须实现所有的抽象方法 +2.如果继承的父接口们中有同名的抽象方法,子类接口只会继承一个抽象方法,子接口的实现类也只需要实现一次该同名抽象方法。 +3.接口的静态方法不能通过对象调用的 +4.父接口的静态方法不能通过子类接口直接访问调用的 +5.静态方法属于哪个接口,就应该由哪个接口名直接调用 + +总结: +类与类: 单继承 extends +类与接口: 多实现 implements +接口与接口:多继承 extends + */ +public class Demo07 { + public static void main(String[] args) { + //调用2个父接口的静态方法 + MyInterfaceFu1.methodSFu1(); + MyInterfaceFu2.methodSFu2(); + } +} diff --git a/day10/src/com/inmind/interface_extends07/MyInterfaceFu1.java b/day10/src/com/inmind/interface_extends07/MyInterfaceFu1.java new file mode 100644 index 0000000..ca2cf93 --- /dev/null +++ b/day10/src/com/inmind/interface_extends07/MyInterfaceFu1.java @@ -0,0 +1,14 @@ +package com.inmind.interface_extends07; + +public interface MyInterfaceFu1 { + void methodFu1(); + + public static void methodSFu1(){ + System.out.println("MyInterfaceFu1的静态方法methodSFu1"); + } + + public default void methodD(){ + System.out.println("MyInterfaceFu1的默认方法methodD"); + } + +} diff --git a/day10/src/com/inmind/interface_extends07/MyInterfaceFu2.java b/day10/src/com/inmind/interface_extends07/MyInterfaceFu2.java new file mode 100644 index 0000000..7686186 --- /dev/null +++ b/day10/src/com/inmind/interface_extends07/MyInterfaceFu2.java @@ -0,0 +1,14 @@ +package com.inmind.interface_extends07; + +public interface MyInterfaceFu2 { + void methodFu2(); + void methodFu(); + + public static void methodSFu2(){ + System.out.println("MyInterfaceFu2的静态方法methodSFu2"); + } + + public default void methodD(){ + System.out.println("MyInterfaceFu2的默认方法methodD"); + } +} diff --git a/day10/src/com/inmind/interface_extends07/MyInterfaceZi.java b/day10/src/com/inmind/interface_extends07/MyInterfaceZi.java new file mode 100644 index 0000000..e07d4e3 --- /dev/null +++ b/day10/src/com/inmind/interface_extends07/MyInterfaceZi.java @@ -0,0 +1,11 @@ +package com.inmind.interface_extends07; + +public interface MyInterfaceZi extends MyInterfaceFu1,MyInterfaceFu2{ + void methodZi(); + + //注意:如果父接口中的默认方法有重名的,那么子接口必须重写该默认方法 + @Override + default void methodD() { + System.out.println("重新实现重名的默认方法"); + } +} diff --git a/day10/src/com/inmind/interface_extends07/MyInterfaceZiImpl.java b/day10/src/com/inmind/interface_extends07/MyInterfaceZiImpl.java new file mode 100644 index 0000000..08844a2 --- /dev/null +++ b/day10/src/com/inmind/interface_extends07/MyInterfaceZiImpl.java @@ -0,0 +1,23 @@ +package com.inmind.interface_extends07; + +public class MyInterfaceZiImpl implements MyInterfaceZi{ + @Override + public void methodZi() { + + } + + @Override + public void methodFu1() { + + } + + @Override + public void methodFu2() { + + } + + @Override + public void methodFu() { + + } +}