![]() |
1
7
第一:不,嵌套类并不是普遍的“坏”。就像编程中几乎所有其他东西的情况一样——它们有时间和地点。 第二:是-正如您所暗示的,非静态内部类维护对其外部类的隐式引用,因此,如果内部类的实例被强引用,那么外部实例也被强引用。这意味着内存使用量会稍微增加。但是: 第三(也是最重要的):这里的关键词是“轻微”。这种考虑相当于Knuth所说的“小效率”之一。 不要让微小的性能问题驱动程序的体系结构。 专注于用干净、组织良好的体系结构编写一个清晰、可读的程序:在许多情况下,使用嵌套类可以创建更清晰的组织-如果你的类就是其中之一,那么就使用嵌套类:更清晰的体系结构和内存使用量的小幅增加之间的权衡是你每次都想做的。如果性能最终成为一个问题,那么只要您的通用体系结构是可靠的,您就可以进行优化。因此,请关注该架构。 (另外,这样编程更有趣:) |
![]() |
zapredelom · 如何从内部枚举中获取外部类名 9 年前 |
![]() |
Val · 引用asInstanceOf中的嵌套类 10 年前 |
![]() |
jovanMeshkov · 嵌套类占用更多内存空间? 12 年前 |