gpt4 book ai didi

java - 字节码——公共(public)属性和私有(private)属性的区别

转载 作者:搜寻专家 更新时间:2023-11-01 03:27:42 29 4
gpt4 key购买 nike

在 Java 中使用简单的 getter/setter 的公共(public)属性和私有(private)属性在字节码上有什么区别?

最佳答案

有了 public 领域,你有:

aload_0
iconst_1
putfield #1; //Field public
return

使用私有(private) + 设置/获取:

aload_0
iconst_1
putfield #1; //Field private
return

public int getA();
Code:
0: aload_0
1: getfield #1; //Field private
4: ireturn

public void setA(int);
Code:
0: aload_0
1: iload_1
2: putfield #1; //Field private
5: return

所以从性能的角度来看,private + set/get 只会带来不必要的开销。但它具有架构优势,应该被某些约定(如 JavaBeans)使用。

关于java - 字节码——公共(public)属性和私有(private)属性的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088469/

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