day10-接口之间的多继承

This commit is contained in:
2026-07-27 13:52:08 +08:00
parent 8b17ba1eb3
commit ac8f945bf9
5 changed files with 78 additions and 0 deletions
@@ -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);
}
}
@@ -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的静态方法");
}
}
@@ -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的静态方法");
}
}
@@ -0,0 +1,5 @@
package com.inmind.interface_interface07;
//接口与接口之间是多继承的
public interface NewInterface extends MyInterface1, MyInterface2{
void newMethod();
}
@@ -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() {
}
}