day09-接口之间的多继承&类、接口关系总结
This commit is contained in:
24
day10/src/com/inmind/interface_extends07/Demo07.java
Normal file
24
day10/src/com/inmind/interface_extends07/Demo07.java
Normal 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();
|
||||
}
|
||||
}
|
||||
14
day10/src/com/inmind/interface_extends07/MyInterfaceFu1.java
Normal file
14
day10/src/com/inmind/interface_extends07/MyInterfaceFu1.java
Normal 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");
|
||||
}
|
||||
|
||||
}
|
||||
14
day10/src/com/inmind/interface_extends07/MyInterfaceFu2.java
Normal file
14
day10/src/com/inmind/interface_extends07/MyInterfaceFu2.java
Normal 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");
|
||||
}
|
||||
}
|
||||
11
day10/src/com/inmind/interface_extends07/MyInterfaceZi.java
Normal file
11
day10/src/com/inmind/interface_extends07/MyInterfaceZi.java
Normal 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("重新实现重名的默认方法");
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user