您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java 8中使用了哪些功能接口?

Java 8中使用了哪些功能接口?

@FunctionalInterface批注对于检查代码的编译时间很有用。除了之外static,你不能有多个方法default并且抽象方法会覆盖Object@FunctionalInterface或任何其他用作功能接口的接口中的方法

但是,你可以使用不带注释的lambda,也可以覆盖不带@Override注释的方法

来自文档

功能接口只有一种抽象方法。由于方法具有实现,因此它们不是抽象的。如果接口声明的抽象方法覆盖了java.lang.Object的公共方法之一,则该方法也不计入接口的抽象方法计数,因为该接口的任何实现都将具有java.lang.Object或其他地方的实现。

这可用于在lambda表达式:

public interface Foo {
  public void doSomething();
}

此不能用于在lambda表达式:

public interface Foo {

  public void doSomething();
  public void doSomethingElse();
}

但这会产生编译错误

@FunctionalInterface
public interface Foo {
  public void doSomething();
  public void doSomethingElse();
}

无效的“ @FunctionalInterface”注释;Foo不是功能界面

java 2022/1/1 18:16:31 有467人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶