提问人:kaka 提问时间:10/25/2023 更新时间:10/25/2023 访问量:63
我们可以在方法中声明接口吗?
Can we declare interface inside a method?
问:
“你不能在块内声明接口;接口本质上是静态的“这是 https://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html#local-classes-are-similar-to-inner-classes
但是,我可以在下面的代码中声明一个接口。我还可以通过扩展接口来创建一个匿名类。
public void testing() {
interface LocalInterface {
void prints();
}
LocalInterface localInterface = new LocalInterface() {
@Override
public void prints() {
System.out.println("hello world");
}};
localInterface.prints();
}
答:
2赞
harsh pamnani
10/25/2023
#1
爪哇 16+
这取决于您使用的 JDK。-inside-a-method 功能是在 JDK 16 中引入的。和 同上。请参阅 JEP 395:记录。interface
enum
record
如果您使用的是 IntelliJ,当 JDK 设置为 8 时,它会显示错误。错误显示:,建议升级到 JDK 16+。Local interfaces are not supported at language level '8'
评论