Java 我们可以说方法局部类是内部类的一种类型吗?

Java 我们可以说方法局部类是内部类的一种类型吗?,java,inner-classes,anonymous-inner-class,local-class,Java,Inner Classes,Anonymous Inner Class,Local Class,由于我们不能将静态修饰符与在方法内部定义的局部类一起使用,并且由于非静态嵌套类是内部类,我们可能会说方法局部类是内部类的一种类型 但另一方面,我们说如果没有封闭类的活动实例,内部类的实例就不可能存在。但是静态方法中定义的方法局部类的实例可以在没有封闭类的活动实例的情况下存在,对吗 那么我从中得出什么结论呢?第一个逻辑告诉我局部类是内部类的一种,第二个推理告诉我局部类不是内部类 我们说,没有封闭类的活动实例,内部类的实例就不可能存在 不,我的重点是: 如果O是C的直接封闭类型声明,并且C的声明不在

由于我们不能将静态修饰符与在方法内部定义的局部类一起使用,并且由于非静态嵌套类是内部类,我们可能会说方法局部类是内部类的一种类型

但另一方面,我们说如果没有封闭类的活动实例,内部类的实例就不可能存在。但是静态方法中定义的方法局部类的实例可以在没有封闭类的活动实例的情况下存在,对吗

那么我从中得出什么结论呢?第一个逻辑告诉我局部类是内部类的一种,第二个推理告诉我局部类不是内部类

我们说,没有封闭类的活动实例,内部类的实例就不可能存在

不,我的重点是:

如果O是C的直接封闭类型声明,并且C的声明不在静态上下文中出现,则内部类C是类或接口O的直接内部类

[……]

类或接口O的直接内部类C的实例i与O的实例相关联,称为i的直接封闭实例


这告诉我们,一个内部类可能没有封闭实例。特别是,在静态上下文中定义的情况下会发生这种情况。

换句话说,如果没有封闭类的活动实例,内部类实例就不可能存在,除非内部类发生在静态上下文中,例如在静态方法中,对吗?一个问题:我知道如果有一个名为C的内部类直接定义在一个名为O的顶级封闭类中,我的意思是在其他成员声明的级别上,那么C是O的直接内部类。但是假设一个名为B的类中的名为M的方法中定义了一个本地类A,那么A是B的直接内部类吗?我对“立即”这个词的用法有点困惑。