我只是想要根据如何从封闭类或彼此的内部类访问成员的差异。
关于静态、最终、有效最终成员,为什么?
最佳答案
静态嵌套类实际上与使用单独的类文件相同,只不过您将其放入另一个类文件中。
如果它不是静态的,则称为内部类。 内部类可以访问其封闭类的所有成员。对于静态嵌套类,它们可以存在而无需实例化另一个类,但内部类只能存在于其封闭类的实例中。
您应该注意概念的命名。简而言之:
- 静态嵌套类:几乎与普通类相同,但包含在另一个类中。有权访问
公共(public)
成员 - 内部类:只能存在于其封闭类的实例中。有权访问所有成员。
- 本地类:在 block 中声明的类。它就像一个内部类(可以访问所有成员),但它也可以访问本地范围。
official documentation对此进行了详细解释,因此我建议您仔细阅读它。有关本地和匿名内部类的信息也可以在那里找到。
关于java - 本地内部类和非静态内部类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20373162/