Java中实现接口的三种方式

Java中实现接口的三种方式博客作为个人学习笔记,随着学习深入更新。最近在学习java中的lambda基础表达式,在理解和学习使用过程中花了些时间,为了能更好的理解lambda,就决定将一些使用方式,理解写在这里。(1)Question:lambda是什么在java核心技术卷一中,lambda表达式的意思就是一个可执行的代码块,以及必须传入代码的变量规范。这句话虽然很直白,但看起来就很官方...
摘要由CSDN通过智能技术生成

Java中实现接口的三种方式

博客作为个人学习笔记,随着学习深入更新。

最近在学习java中的lambda基础表达式,在理解和学习使用过程中花了些时间,为了能更好的理解lambda,就决定将一些使用方式,理解写在这里。

(1)Question:lambda是什么

在java核心技术卷一中,lambda表达式的意思就是一个可执行的代码块,以及必须传入代码的变量规范。这句话虽然很直白,但看起来就很官方,理解起来会有点困难,这时候就有必要说说lambda的使用方式,在使用中会更好理解。

(2)Question:lambda的使用场景

在使用lambda时,必须明确一点,lambda是用来实现接口的,所以首先我们需要一个接口。

public interface LambdaNoneReturnNoneParameter {
   
    void test();
}

lambda表达式实现这个接口

public class Demo {
   
    public static void main(String[] args) {
   
        LambdaNoneReturnNoneParameter x = () -> {
   
            System.out.printf("hello world");
        };
    };
    x.test();
}

代码解释

lambda表达式由三个部分组成

(1)参数

(2)goes to :->

(3)方法体

1.参数部分需要与接口中参数类型、个数匹配

2.方法体中为添加接口中方法的内容

以上lambda表达式的作用等价于

@Override
public void test() {
   
    System.out.printf("hello world");
}

其中的x保存的是实现LambdaNoneReturnNoneParameter lambda这个接口的类的对象的引用。当x引用的对象调用test方法时会执行lambda的代码块。

或者可以理解为lambda表达式创建了一个实现接口的类,并返回一个该类的对象的引用。

可以将lambda表达式看作是对接口中方法逻辑的重写,此时必须要保证接口中只有唯一一个方法,这种接口称之为函数式接口

这一类接口都带着

@FunctionalInterface
(3)练习
@FunctionalInterface
public interface CountMoney {
   
    Double countMoney(Double salary, Double tax);
}

现在我们需要计算,扣完税之后,一共能拿到多少钱。

public class Demo {
   
    public static void main() {
   
        CountMoney money = (Double a, Double b) -<
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值