diff --git a/day10/src/com/inmind/extends_interface06/Demo06.java b/day10/src/com/inmind/extends_interface06/Demo06.java new file mode 100644 index 0000000..2223c42 --- /dev/null +++ b/day10/src/com/inmind/extends_interface06/Demo06.java @@ -0,0 +1,13 @@ +package com.inmind.extends_interface06; +/* +继承父类并实现多个接口 +注意事项: +1.非抽象的子类实现类必须重写所有的抽象方法 +2.如果有抽象方法没有实现,那么子类实现类必须是抽象类 +3.如果多个接口中有相同的抽象方法,那么子类实现类只要实现一次即可。 +4.如果多个接口和抽象父类中有相同的抽象方法,那么子类实现类也只要实现一次即可。 +5.如果多个接口有相同的抽象方法,并且在父类中有一个同名的普通方法, + 那么子类实现类可以不重写接口中的抽象方法,也可以根据需求来重写,类的方法优先于接口 + */ +public class Demo06 { +} diff --git a/day10/src/com/inmind/extends_interface06/Fu.java b/day10/src/com/inmind/extends_interface06/Fu.java new file mode 100644 index 0000000..befa051 --- /dev/null +++ b/day10/src/com/inmind/extends_interface06/Fu.java @@ -0,0 +1,10 @@ +package com.inmind.extends_interface06; + +public abstract class Fu { + public abstract void methodFu(); + public abstract void method(); + + public void sameMethod(){ + System.out.println("父类的sameMethod方法"); + }; +} diff --git a/day10/src/com/inmind/extends_interface06/MyInterface1.java b/day10/src/com/inmind/extends_interface06/MyInterface1.java new file mode 100644 index 0000000..c0de10f --- /dev/null +++ b/day10/src/com/inmind/extends_interface06/MyInterface1.java @@ -0,0 +1,8 @@ +package com.inmind.extends_interface06; + +public interface MyInterface1 { + void method1(); + void method(); + + void sameMethod(); +} diff --git a/day10/src/com/inmind/extends_interface06/MyInterface2.java b/day10/src/com/inmind/extends_interface06/MyInterface2.java new file mode 100644 index 0000000..761d8ad --- /dev/null +++ b/day10/src/com/inmind/extends_interface06/MyInterface2.java @@ -0,0 +1,8 @@ +package com.inmind.extends_interface06; + +public interface MyInterface2 { + void method2(); + void method(); + + void sameMethod(); +} diff --git a/day10/src/com/inmind/extends_interface06/Zi.java b/day10/src/com/inmind/extends_interface06/Zi.java new file mode 100644 index 0000000..9cc8ddc --- /dev/null +++ b/day10/src/com/inmind/extends_interface06/Zi.java @@ -0,0 +1,29 @@ +package com.inmind.extends_interface06; + +public class Zi extends Fu implements MyInterface1,MyInterface2{ + @Override + public void methodFu() { + System.out.println("重写实现了父类的抽象方法methodFu"); + } + + @Override + public void method1() { + System.out.println("重写实现了接口1的抽象方法method1"); + } + + @Override + public void method() { + System.out.println("重写实现了接口1和接口2的同名的抽象方法method"); + } + + @Override + public void method2() { + System.out.println("重写实现了接口2的抽象方法method2"); + } + + //重写了父类的sameMethod方法 + @Override + public void sameMethod() { + super.sameMethod(); + } +}