jdk8新特性

接口中默认方法修饰为普通方法
在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的,由于这些修饰符都是默认的。

接口定义方法:public 抽象方法 需要子类实现
接口定义变量:public、static、final

在JDK 1.8开始 支持使用static和default 修饰 可以写方法体,不需要子类重写。
方法:
普通方法 可以有方法体
抽象方法 没有方法体需要子类实现 重写。

代码案例

/**

  • @ClassName JDK8Interface

  • @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com

  • @Version V1.0
    **/
    public interface JDK8Interface {
    void addOrder();

    /**

    • 默认方法 可以写方法体
      */
      default void getDefaultOrder() {
      System.out.println(“我是默认方法 我可以写方法体”);
      }

    static void getStaticOrder() {
    System.out.println(“我是静态的方法 可以写方法体”);
    }
    }

/**

  • @ClassName JDK8InterfaceImpl
  • @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
  • @Version V1.0
    /
    public class JDK8InterfaceImpl implements JDK8Interface {
    /
    • 默认和静态方法不是我们的抽象方法 ,所以不需要重写
      */
      @Override
      public void addOrder() {
      System.out.println(“addOrder”);
      }
      }

Lambda表达式
什么是Lambda表达式
LAMBADA 好处: 简化我们匿名内部类的调用。
Lambda+方法引入 代码变得更加精简。

Lambda 表达式(lambda expression)是一个匿名函数,简化我们调用匿名函数的过程。
百度百科介绍:
https://baike.baidu.com/item/Lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F/4585794?fr=aladdin

为什么要使用Lambda表达式
可以非常简洁的形式调用我们的匿名函数接口。
public static void main(String[] args) {
// 1.使用new的实现类的形式调用接口
OrderService orderSerivce1 = new OrderSerivceImpl();
orderSerivce1.addOrder();
// 2.使用匿名内部接口调用
new OrderService() {
@Override
public void addOrder() {
System.out.println(“使用匿名内部类的形式调用接口”);
}
}.addOrder();
// 3.使用lambda调用接口
OrderService orderSerivce2= ()-> System.out.println(“使用lambda调用接口”);
orderSerivce2.addOrder();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值