day09-接口之间的多继承&类、接口关系总结

This commit is contained in:
2026-01-23 15:52:09 +08:00
parent c5f8658633
commit dbb890e4fd
5 changed files with 86 additions and 0 deletions

View File

@@ -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();
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -0,0 +1,11 @@
package com.inmind.interface_extends07;
public interface MyInterfaceZi extends MyInterfaceFu1,MyInterfaceFu2{
void methodZi();
//注意:如果父接口中的默认方法有重名的,那么子接口必须重写该默认方法
@Override
default void methodD() {
System.out.println("重新实现重名的默认方法");
}
}

View File

@@ -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() {
}
}