gpt4 book ai didi

java - 任何具有单一方法的接口(interface)都可以被视为功能接口(interface)吗?

转载 作者:行者123 更新时间:2023-12-02 05:57:59 26 4
gpt4 key购买 nike

例如我有这个接口(interface):

package tester;

public interface Calculator{

public int calculate(int a,int b);

}

package tester;

@FunctionalInterface
public interface Calculator{

public int calculate(int a,int b);

}

我也可以将第一个视为功能接口(interface)。例如:

package tester;
public class A {

int a;
int b;
int sum;
A(Calculator c,int e, int d){
a=e;
b=d;
sum =c.calculate(a, b);

}
int get(){
return sum;
}
}

类(class)赛跑者

package tester;

public class runner {

public static void main(String a[]){

System.out.println(new A((x,b)-> (x+b),1,2).get());
}
}

无论有没有注解,代码都可以工作,那为什么要有注解呢?为什么不能说任何只有一个方法的接口(interface)都可以是函数式接口(interface)呢?

最佳答案

FunctionalInterface 注释只是对编译器的提示,是的,任何具有一个抽象方法的接口(interface)都可以是功能接口(interface)。注释可能有助于检测功能界面中的错误。例如:

@FunctionalInterface
public interface ExampleInterface {
}

会导致编译错误。

关于java - 任何具有单一方法的接口(interface)都可以被视为功能接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41599115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com