内部类实例化

6
一个内部类被称为外部类的成员。这是不是意味着每当创建外部类的对象时,内部类的实例也会隐式地被创建?
3个回答

8

不会。只有在实例化时才会创建内部类的实例。

请注意,内部类的构造函数需要外部类的一个实例(尽管这被编译器掩盖了)。对于非静态嵌套类而言是如此。静态嵌套类可以在没有父实例的情况下实例化(因为它们是静态的)。


但是静态内部类在实际生活中有用吗? - aps
1
是的,非常多。我甚至可以说比非静态的还要多(虽然我没有具体数字)。 - Bozho
@Bozho哦,我不知道那个...事实上,我曾在某处读到通常使用非静态嵌套类(称为内部类)......而不是静态嵌套类......但是你名字旁边的112K太多了,我不敢不相信你的话...无论如何,还是谢谢。 - aps
112k与那个特定的问题没有太大关系 :) 我不完全确定哪些被使用得最多,我只是感觉看到的静态的比非静态的更多,但如果进行统计分析,我可能也是错的。 - Bozho
@Bozho 正确的术语是静态嵌套类。并不存在所谓的静态内部类 - Inquisitive

3

0
这意味着在你创建内部类的实例之前,你需要先创建外部类的实例。

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