Java8新特性 - 02 - 接口增强内容详解

1.接口增强内容介绍

 * 本案例演示接口增强的内容
 *
 * 目的 : 为了提高接口的可扩展性
 *
 * 1.新增 : 默认方法 default 关键字修饰
 *      1.1 default 关键字修饰方法,必须有方法体
 *      1.2 实现类可以重写该方法
 *      1.3 调用方式 : 通过实现类的对象进行调用
 * 2.新增 :静态方法
 *      2.1 static 关键字修饰方法,必须有方法体
 *      2.2 实现类不可以重写该方法
 *      2.3 调用方式 : 只能通过 【接口名.静态方法名】 进行调用

2.案例代码

2.1 接口代码

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");
    }
}

2.2 实现类代码

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");
    }
}

2.3 应用类代码

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();

    }
}

2.4 运行结果

在这里插入图片描述

3.完成

Congratulations!
You are one step closer to success!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值