接口的组成和更新
接口的组成更新:
常量:
public static final
抽象方法:
public abstract
默认方法 Java8
静态方法 Java8
私有方法 Java9
接口中的默认方法:
接口中的默认方法:----->主要用于现有接口的升级而不破坏现有的代码
接口中默认方法得定义:
格式:
public default返回值类型方法名(参数列表){}
范例:
public default void show3(){}
需求:
1.定义一个接口:MyInterface,里面有两个抽象方法
void show1();
void show2();
2.定义接口的两个实现类:
MyInterfaceImplOne
MyInterfaceImplTwo
2.定义测试类:
MyInterfaceDemo
在主方法中,按照多态的方式创建对象并使用
接口中默认方法的注意事项:
1. 默认方法不是抽象方法,所以不强制重写。但是可以被重写,重写的时候去点default关键字
2. public可以省略,default不可以省略
MyInterface.java 主文件
public static void main(String[] args) {
//按照多态的方式创建对象并使用
MyInterface my = new MyInterfaceImplOne();
my.show1();
my.show2();
my.show3();
}
MyInterface.java接口文件
public interface MyInterface {
void show1();
void show2();
//void show3();//如果这样添加的话,在就需要在MyInterfacelmplOne和MyInterfacelmplTwo中重写该方法
//否则就需要再写一个子接口继承该接口实现其功能
//默认方法,可以重写 在重写得时候需要去掉default,默认方法不会强制实现类去重写默认方法
// public default void show3(){
// System.out.println("show3!");
// }
default void show3(){
//public可以省略
System.out.println("show3!");
}
}
MyInterfaceSon.java MyInterface.java接口的子接口文件
public interface MyInterfaceSon extends MyInterface {
void show3();//系统需要添加功能方法得时候,添加得方法
}
MyInterface.java 接口的实现类 MyInterfaceimplOne.java 文件
public class MyInterfaceImplOne implements MyInterface {
@Override
public void show1(