day10--接口的默认方法的定义和使用

This commit is contained in:
xx
2026-10-08 11:49:22 +08:00
parent 7a9bf4dce7
commit 4086ee1dd5
3 changed files with 54 additions and 0 deletions
@@ -0,0 +1,19 @@
package com.inmind.interface_default02;
/*
JDK8时提供,接口的默认方法
接口的默认方法的使用步骤:
1.接口不能创建对象的,它没有构造方法
2.定义一个实现类,实现该接口,并实现接口中的所有的抽象方法
public class MyInterfaceImpl(实现类) implements MyInterface(接口){
3.创建该接口的实现类的对象,调用接口的默认方法
4.在接口的实现类中,可以根据对应的需求,选择性重写,或不重写接口中的默认方法,也可以沿用功能(接口.super.默认方法名)(重点)
*/
public class Demo02 {
public static void main(String[] args) {
MyInterfaceImpl1 myInterfaceImpl1 = new MyInterfaceImpl1();
myInterfaceImpl1.method();
myInterfaceImpl1.method1();
}
}
@@ -0,0 +1,24 @@
package com.inmind.interface_default02;
/*
第一个版本的规则(接口),有一个固定功能myMethod
第二个版本中,需要增加功能
接口是可以升级的,添加新功能,之前添加功能只能通过抽象方法,导致所有的实现类都报错,这样非常麻烦。
为了解决该问题,jdk8提供了默认方法来解决
接口中的默认方法的定义格式:
public default 返回值类型 方法名(参数列表){
默认实现
}
*/
public interface MyInterface {
//默认方法
public default void method(){
System.out.println("MyInterface接口的默认功能1");
}
public default void method1(){
System.out.println("MyInterface接口的默认功能2");
}
}
@@ -0,0 +1,11 @@
package com.inmind.interface_default02;
public class MyInterfaceImpl1 implements MyInterface{
//ctrl+o
@Override
public void method() {
//MyInterface.super.method();//沿用接口的默认功能
System.out.println("实现类MyInterfaceImpl1,重写了接口的method的默认功能");
}
}