0

我们知道一个类的局部类是存在的(例如:类的方法内部的局部类),但是我们可以声明一个接口的局部类吗?我将本地类的原始格式重新格式化如下:

(接口的)本地类是具有自己名称(本地名称)的非静态成员类,它可以在接口的默认/静态/私有方法中使用”。

那么,它的定义是否正确?因为当我尝试声明时,没有发生编译时错误。

请帮助我,非常感谢

我举一个例子如下:

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

这是正确的还是不正确的?

4

1 回答 1

1

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

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

Oracle 教程中提供了有关本地类的更多信息:https ://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html

于 2020-07-18T09:22:44.717 回答