接口增强内容介绍
* 本案例演示接口增强的内容
*
* 目的 : 为了提高接口的可扩展性
*
* 1.新增 : 默认方法 default 关键字修饰
* 1.1 default 关键字修饰方法,必须有方法体
* 1.2 实现类可以重写该方法
* 1.3 调用方式 : 通过实现类的对象进行调用
* 2.新增 :静态方法
* 2.1 static 关键字修饰方法,必须有方法体
* 2.2 实现类不可以重写该方法
* 2.3 调用方式 : 只能通过 【接口名.静态方法名】 进行调用
案例代码
接口代码
package com.northcastle.F_interface_enhancement;
/**
* author : northcastle
* createTime:2022/2/16
*/
public interface InterfaceA {
//1.静态常量
String NAME = '接口增强的演示接口';
//2.抽象方法
void sayHello();
//3.默认方法
default void methodDefault(){
System.out.println('接口中的默认方法 : methodDefault');
}
//4.静态方法
static void methodStatic(){
System.out.println('接口中的静态方法 : methodStatic');
}
}
实现类代码
package com.northcastle.F_interface_enhancement;
/**
* author : northcastle
* createTime:2022/2/16
*/
/**
* 接口的实现类:
* 1.【必须】重写 接口中的 【普通抽象方法】
* 2.【可以】重写 接口中的 【默认方法】
* 3.【不可以】重写 接口中的 【静态方法】
*/
public class ClassA implements InterfaceA {
//1.重写接口中的 普通抽象方法
@Override
public void sayHello() {
System.out.println('ClassA sayHello to You!');
}
//2.可以重写 接口中的 默认方法
@Override
public void methodDefault() {
System.out.println('ClassA 重写了 默认方法 : methodDefault');
}
}
应用类代码
package com.northcastle.F_interface_enhancement;
/**
* author : northcastle
* createTime:2022/2/16
*/
public class Application {
public static void main(String[] args) {
//1.创建实现类的对象
ClassA classA = new ClassA();
//2.实现类对象 调用普通方法
classA.sayHello();
//3.实现类对象 调用默认方法
classA.methodDefault();
//4.接口直接调用 静态方法
InterfaceA.methodStatic();
}
}
运行结果
完成
文章为作者独立观点,不代表观点
Sdosd2023-02-04
成飞借壳中航电测30011乌鸡变凤凰,中航电测成妖股,中航电测是2023年股票的龙头,迪威迅300167加油!