2010-11-15 75 views
8

使用内部静态类有什么好处?我应该在哪里比其他选项更喜欢它?Java中的内部静态类

它的内存是如何分配的?

+0

[静态嵌套类在Java中的可能的重复,为什么?](http://stackoverflow.com/questions/253492/static-nested-class-in-java-why) – 2011-01-23 16:39:08

回答

6

如果内部类是静态的,则不需要外部类的实例来实例化它。

如果内部类是公共的,它基本上只是一个名称范围技术,用于突出显示类“属于”外部类的事实。

但是,如果将内部类设为私有,则不能在该类之外使用。

4

使用内部类的最有说服力的理由之一是组合。在构成情况下,一个实体的存在完全是为了其较高实体的目的。例如一所大学。大学由部门组成。大学以外的部门没有个人存在。此外,进入部门应由大学控制。在这种情况下,我们可以将Department类作为大学类的内部类。

4

它的内存是如何分配的?

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