gpt4 book ai didi

Java内部类和静态嵌套类-二进制差异

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:11 25 4
gpt4 key购买 nike

选择一种设计而不是另一种设计的原因有很多,在这里可以找到很好的答案:

我很好奇通过常规类选择静态内部类时是否有任何性能或内存/存储差异。

编译后有何不同?

需要明确的是,这个问题并不是要给出在每种情况下使用什么的建议。我只是想了解 Java 在幕后是如何工作的。

最佳答案

静态嵌套类是最简单的形式:它的工作方式就像顶级类一样,唯一的区别是它声明的范围。那里没有隐藏任何东西。

非静态嵌套类具有对封闭类实例的隐藏引用,这就是为什么您可以从内部类内部引用封闭类的非静态字段。

当您在方法中定义匿名类时,您还将拥有该方法中声明并从匿名类中引用的所有局部变量的副本。如果该方法是非静态的,您还将拥有对封闭类的隐藏引用。

关于Java内部类和静态嵌套类-二进制差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58559668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com