接口中的默认方法
一 接口组成更新概述
- 常量
public static final - 抽象方法
public abstract - 默认方法(Java8)
- 静态方法(Java8)
- 私有方法(Java9)
二 接口中的默认方法(主要运用接口的升级,不破坏现有的代码)
-
定义格式:
格式:public default 返回值类型 方法名(参数列表){}
范例: public default void show3(){} -
注意事项!!!
默认方法不是抽象方法,所以不强制重写,但是可以被重写,重写的时候去掉default关键字
public可以省略,default不能省略
三 以例题讲解
1 定义一个接口MyInterface,里面有两个抽象方法
- void show1();
- void show2();
2 定义接口的两个实现类
- MyInterfaceImplOne
- MyInterfaceImplTwo
3 定义测试类
- MyInterfaceDemo
在主方法中,按照多态的方式创建对象并使用
以代码形式讲解
- MyInterfaceImplOne
package Demo;
public class MyInterfaceImplOne implements MyInterface{
@Override
public void show1() {
System.out.println("one show1");
}
@Override
public void show2() {
System.out.println("one show2");
}
}
- MyInterfaceImplTwo
package Demo;
public class MyInterfaceImplTwo implements MyInterface{
@Override
public void show1() {
System.out.println("two show1");
}
@Override
public void show2() {
System.out.println("two show2");
}
@Override
public void show3() {
System.out.println("two show3");
}
}
- MyInterface
package Demo;
public interface MyInterface {
void show1();
void show2();
//默认方法
default void show3(){
System.out.println("这是默认方法");
}
}
- MyInterfaceDemo
package Demo;
public class MyInterfaceDemo {
public static void main(String[] args) {
MyInterface m=new MyInterfaceImplOne();
m.show1();
m.show2();
m.show3();
MyInterface m2=new MyInterfaceImplTwo();
m2.show1();
m2.show2();
m2.show3();
}
}
输入的内容: