【Java8新特性】- 接口中默认方法修饰为普通方法

生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德分享学习心得,欢迎指正 , 大家一起学习成长!

【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
目录
  • Java8新特性 - 接口中默认方法修饰为普通方法
    • 【【Java8新特性】- 接口中默认方法修饰为普通方法】接口中默认方法修饰为普通方法
    • default、static修饰
    • 案例代码
接口中默认方法修饰为普通方法在java8之前 , 接口类可以定义变量和方法,变量必须要public、static、final修饰,方法需要public、abstract修饰 。方法由子类来实现 。接口方法默认是public,如果多加了public就会显示冗余的public 。
【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
在jdk8之后,java就能够通过default和static修饰,直接编写方法体,无需子类去实现 。当我们直接在接口类中编写带方法体的方法时 , idea就会提示接口抽象方法不能有方法体 。
【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
default、static修饰当我们使用default修饰的时候 , idea就会提示不支持此方法 。
【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
我们就将其设置为java8级别,之后就能用了 。
【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
这样就都能用了
案例代码package com.jdk8.demo.method;/** * @author: lyd * @description: 声明接口 * @Date: 2022/10/4 */public interface InterfaceMethod {    void PubMethod();    default void DefaultMethod() {        System.out.println("使用default修饰");    }    static void StaticMethod() {        System.out.println("使用static修饰");    }}在实现类中,一定需要实现的是没有方法体的,修饰了static是不可以子类去实现的 。这里就实现未实现的方法 。
package com.jdk8.demo.method.impl;import com.jdk8.demo.method.InterfaceMethod;/** * @author: lyd * @description: 实现类 * @Date: 2022/10/4 */public class InterfaceMethodImpl implements InterfaceMethod {    @Override    public void PubMethod() {        System.out.println("public方法");    }}测试
package com.jdk8.demo.method;import com.jdk8.demo.method.impl.InterfaceMethodImpl;/** * @author: lyd * @description: 测试 * @Date: 2022/10/4 */public class Itest {    public static void main(String[] args) {        InterfaceMethod interfaceMethod = new InterfaceMethodImpl();        interfaceMethod.PubMethod();        interfaceMethod.DefaultMethod();        InterfaceMethod.StaticMethod();    }}运行结果
【Java8新特性】- 接口中默认方法修饰为普通方法

文章插图
感谢观看!

    推荐阅读