接口localclass是否存在?

Does local class of interface exist?

我们知道aclass的localclass存在(例如:localclass在aclass的方法中),但是我们是否可以声明一个local class 一个接口。我将本地 class 的原始格式重新格式化如下:

"Local class(接口的)是一个非静态成员class,它有自己的名称(本地名称),它可以在 default/static/private 接口方法".

那么,它的定义到底对不对呢?因为当我尝试声明时,没有发生编译时错误。

请帮帮我,非常感谢

我举个例子如下:

public interface GlobalClass {
static void functionB() {
    class Local {}
    
};
default void functionC() {
    class Local {};
};}

对不对?

是的,您可以在任何方法体内创建本地 classes,也可以在接口的静态或默认方法中创建。 类 您在接口内部创建的方法与您在 class 方法内部创建的本地 classes 并没有真正的区别。

您的定义是正确的,除了在接口中声明的局部 class 和在 class 中声明的局部 class 之间没有太大区别。

有关本地 classes 的更多信息可在 Oracle 教程中找到:https://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html