JDK8中为什么有通达信应用程序编程接口,接口默认方法
以前创建了一个通达信应用程序编程接口,接口,并且已经被大量的类实现。
如果需要再扩充这个通达信应用程序编程接口,接口的功能加新的方法,就会导致所有已经实现的子类需要重写这个方法。
如果在通达信应用程序编程接口,接口中使用默认方法就不会有这个问题。
所以从 JDK8 开始新加了通达信应用程序编程接口,接口默认方法,便于通达信应用程序编程接口,接口的扩展。
默认方法的案例案例需求:1.创建一个Cat通达信应用程序编程接口,接口,包含play()抽象方法,eat()静态方法,run()默认方法,climb()默认方法2.写一个子类WhiteCat白猫实现了猫通达信应用程序编程接口,接口3.实现play()抽象方法,重写run()的默认方法4.创建类Demo04Interface,在main函数中创建WhiteCat对象调用通达信应用程序编程接口,接口中静态方法eat()调用白猫子类中实现的方法play()调用白猫子类中重写的方法run()调用通达信应用程序编程接口,接口中默认方法climb()
interface Cat {
void play(); //抽象方法
//静态方法
static void eat() {
System.out.println('猫吃鱼');
}
//默认方法
default void run() {
System.out.println('猫跑');
}
//默认方法
default void climb() {
System.out.println('猫爬树');
}
}
//子类白猫实现了猫通达信应用程序编程接口,接口
class WhiteCat implements Cat {
@Override
public void play() { //实现抽象方法
System.out.println('白猫玩');
}
@Override
public void run() { //也可以重写默认方法
System.out.println('白猫跑');
}
}
//主类中调用
public class Demo04Interface {
public static void main(String[] args) {
WhiteCat cat = new WhiteCat();
Cat.eat(); //调用通达信应用程序编程接口,接口中静态方法
cat.play(); //调用白猫子类中实现的方法
cat.run(); //调用白猫子类中重写的方法
cat.climb(); //调用通达信应用程序编程接口,接口中默认方法
}
}
文章为作者独立观点,不代表股票交易接口观点