【发布时间】:2011-05-10 03:17:43
【问题描述】:
使用内部静态类有什么好处?我应该在哪里选择它而不是其他选项?
它的内存是如何分配的?
【问题讨论】:
标签: java memory-management static-class
使用内部静态类有什么好处?我应该在哪里选择它而不是其他选项?
它的内存是如何分配的?
【问题讨论】:
标签: java memory-management static-class
如果内部类是静态的,则不需要外部类的实例来实例化它。
如果内部类是公共的,它基本上只是一种名称范围技术,用于突出显示该类“属于”外部类这一事实。
但是,如果您将内部类设为私有,则它不能在该类之外使用。
【讨论】:
使用内部类最令人信服的原因之一是组合。在组合的情况下,一个实体的存在完全是为了它的更高实体的目的。例如大学。一所大学由系组成。这些部门在大学之外没有单独的存在。此外,对部门的访问应由大学控制。在这种情况下,我们可以将 Department 类作为 University 类的内部类。
【讨论】:
它的内存是如何分配的?
简单的答案是内部静态类的内存分配方式与非嵌套类相同。这种情况没有什么特别之处,无论是对于类的实例还是类的静态成员。
【讨论】: