Java中的内部静态类

8

使用内部静态类的好处是什么?在哪些情况下应该优先考虑它而不是其他选项?

它的内存分配方式是怎样的?


可能是Java中的静态嵌套类,为什么?的重复问题。 - Peter Mortensen
3个回答

6
如果内部类是静态的,你不需要外部类的实例来实例化它。
如果内部类是公共的,它基本上只是一个名称作用域技术,用于突出显示该类“属于”外部类。
但是,如果你将内部类声明为私有,则不能在该类之外使用它。

4

使用内部类最具有吸引力的原因之一是为了实现组合。在组合的情况下,一个实体的存在仅仅是为了更高层次的实体而存在。例如,一个大学由多个系所组成。这些系所在大学外部没有独立的存在。此外,对于系所的访问应该由大学进行控制。在这种情况下,我们可以将Department类作为University类的内部类。


4

它的内存是如何分配的?

简单的答案是,内部静态类的内存分配方式与非嵌套类相同。对于类的实例或静态成员,这种情况并没有什么特别之处。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接