diff --git a/day10/src/com/inmind/interface_interface07/Demo07.java b/day10/src/com/inmind/interface_interface07/Demo07.java new file mode 100644 index 0000000..c2779ec --- /dev/null +++ b/day10/src/com/inmind/interface_interface07/Demo07.java @@ -0,0 +1,28 @@ +package com.inmind.interface_interface07; +/* +类的继承:单继承,一个类永远只有一个父类 + +接口的继承:接口是多继承的,接口可以有多个直接的父接口 +接口的多继承的注意事项: +1.如果是继承,子接口继承所有的父接口的抽象方法,子接口的实现类必须实现所有的抽象方法 +2.如果是继承的父接口中有同名的抽象方法,子接口只会继承一个抽象方法,子接口的实现类也只需要实现一次同名的抽象方法 +3.接口的静态方法不能通过对象调用 +4.接口的静态方法只跟本接口相关,只能通过本接口名.静态方法来调用 +5.常量也类似 + +总结: +类与类:单继承,多层继承 +类与接口:多实现 +接口与接口:多继承 + */ +public class Demo07 { + public static void main(String[] args) { + NewInterfaceImpl newInterface = new NewInterfaceImpl(); + //newInterface.smethod1();//父接口的静态方法,子接口的对象无法调用 + //NewInterface.smethod1();//父接口的静态方法,子接口也无法调用 + MyInterface1.smethod1(); + MyInterface2.smethod2(); + System.out.println(MyInterface1.i1); + System.out.println(MyInterface2.i2); + } +} diff --git a/day10/src/com/inmind/interface_interface07/MyInterface1.java b/day10/src/com/inmind/interface_interface07/MyInterface1.java new file mode 100644 index 0000000..d30942a --- /dev/null +++ b/day10/src/com/inmind/interface_interface07/MyInterface1.java @@ -0,0 +1,11 @@ +package com.inmind.interface_interface07; + +public interface MyInterface1 { + int i1 = 20; + + void method1(); + void method(); + static void smethod1(){ + System.out.println("接口1的静态方法"); + } +} diff --git a/day10/src/com/inmind/interface_interface07/MyInterface2.java b/day10/src/com/inmind/interface_interface07/MyInterface2.java new file mode 100644 index 0000000..a3e4290 --- /dev/null +++ b/day10/src/com/inmind/interface_interface07/MyInterface2.java @@ -0,0 +1,11 @@ +package com.inmind.interface_interface07; + +public interface MyInterface2 { + int i2 = 10; + + void method2(); + void method(); + static void smethod2(){ + System.out.println("接口2的静态方法"); + } +} diff --git a/day10/src/com/inmind/interface_interface07/NewInterface.java b/day10/src/com/inmind/interface_interface07/NewInterface.java new file mode 100644 index 0000000..e2edc86 --- /dev/null +++ b/day10/src/com/inmind/interface_interface07/NewInterface.java @@ -0,0 +1,5 @@ +package com.inmind.interface_interface07; +//接口与接口之间是多继承的 +public interface NewInterface extends MyInterface1, MyInterface2{ + void newMethod(); +} diff --git a/day10/src/com/inmind/interface_interface07/NewInterfaceImpl.java b/day10/src/com/inmind/interface_interface07/NewInterfaceImpl.java new file mode 100644 index 0000000..cfa9322 --- /dev/null +++ b/day10/src/com/inmind/interface_interface07/NewInterfaceImpl.java @@ -0,0 +1,23 @@ +package com.inmind.interface_interface07; + +public class NewInterfaceImpl implements NewInterface{ + @Override + public void newMethod() { + + } + + @Override + public void method1() { + + } + + @Override + public void method() { + + } + + @Override + public void method2() { + + } +}