From 7a1e0e51436db9495a44f5086d1578b6b1882aa0 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 23 May 2026 16:30:39 +0800 Subject: [PATCH] =?UTF-8?q?day10-=E7=BB=A7=E6=89=BF=E7=88=B6=E7=B1=BB?= =?UTF-8?q?=E5=B9=B6=E5=AE=9E=E7=8E=B0=E5=A4=9A=E4=B8=AA=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E6=B3=A8=E6=84=8F=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/extends_impls06/Demo05.java | 8 +++++ day10/src/com/inmind/extends_impls06/Fu.java | 10 ++++++ .../inmind/extends_impls06/MyInterface1.java | 6 ++++ .../inmind/extends_impls06/MyInterface2.java | 6 ++++ day10/src/com/inmind/extends_impls06/Zi.java | 33 +++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 day10/src/com/inmind/extends_impls06/Demo05.java create mode 100644 day10/src/com/inmind/extends_impls06/Fu.java create mode 100644 day10/src/com/inmind/extends_impls06/MyInterface1.java create mode 100644 day10/src/com/inmind/extends_impls06/MyInterface2.java create mode 100644 day10/src/com/inmind/extends_impls06/Zi.java diff --git a/day10/src/com/inmind/extends_impls06/Demo05.java b/day10/src/com/inmind/extends_impls06/Demo05.java new file mode 100644 index 0000000..6f37ef8 --- /dev/null +++ b/day10/src/com/inmind/extends_impls06/Demo05.java @@ -0,0 +1,8 @@ +package com.inmind.extends_impls06; + +public class Demo05 { + public static void main(String[] args) { + Zi zi = new Zi(); + zi.sameMethod(); + } +} diff --git a/day10/src/com/inmind/extends_impls06/Fu.java b/day10/src/com/inmind/extends_impls06/Fu.java new file mode 100644 index 0000000..0ae96e6 --- /dev/null +++ b/day10/src/com/inmind/extends_impls06/Fu.java @@ -0,0 +1,10 @@ +package com.inmind.extends_impls06; + +//抽象父类 +public abstract class Fu { + public abstract void methodFu(); + //抽象父类中的普通方法 + public void sameMethod(){ + System.out.println("抽象父类中的方法sameMethod()"); + }; +} diff --git a/day10/src/com/inmind/extends_impls06/MyInterface1.java b/day10/src/com/inmind/extends_impls06/MyInterface1.java new file mode 100644 index 0000000..1bbe53a --- /dev/null +++ b/day10/src/com/inmind/extends_impls06/MyInterface1.java @@ -0,0 +1,6 @@ +package com.inmind.extends_impls06; + +public interface MyInterface1 { + void method1(); + void sameMethod(); +} diff --git a/day10/src/com/inmind/extends_impls06/MyInterface2.java b/day10/src/com/inmind/extends_impls06/MyInterface2.java new file mode 100644 index 0000000..54db885 --- /dev/null +++ b/day10/src/com/inmind/extends_impls06/MyInterface2.java @@ -0,0 +1,6 @@ +package com.inmind.extends_impls06; + +public interface MyInterface2 { + void method2(); + void sameMethod(); +} diff --git a/day10/src/com/inmind/extends_impls06/Zi.java b/day10/src/com/inmind/extends_impls06/Zi.java new file mode 100644 index 0000000..59a7a2a --- /dev/null +++ b/day10/src/com/inmind/extends_impls06/Zi.java @@ -0,0 +1,33 @@ +package com.inmind.extends_impls06; +/* +单继承多实现的注意事项: +1.非抽象的子类实现类必须重写所有的抽象方法 +2.如果有抽象方法未实现,那么子类实现类必须是抽象类 +3.如果多个接口中有相同的抽象方法,那么非抽象的子类只需要实现一次即可 +4.如果多个接口和抽象父类中有相同的抽象方法,那么非抽象的子类也只需要实现一次即可 +5.如果抽象父类中拥有一个与多个接口中抽象方法,相同的普通方法,那么子类实现类, + 就可以选择性地重写或不重写该抽象方法,类的方法优先于接口的 + + */ +public class Zi extends Fu implements MyInterface1,MyInterface2{ + @Override + public void methodFu() { + System.out.println("子类重写抽象父类中的抽象方法"); + } + + @Override + public void method1() { + System.out.println("实现类实现接口MyInterface1中的抽象方法"); + } + + @Override + public void sameMethod() { + System.out.println("实现类实现接口MyInterface1和MyInterface2中的同名抽象方法"); + } + + + @Override + public void method2() { + System.out.println("实现类实现接口MyInterface2中的抽象方法"); + } +}