我问这个问题纯粹是为了问题的速度方面。
从私有(private)对象或公共(public)对象 (Java) 获取值的速度有何不同?
class MyClass {
public int myInt = 5;
}
class MyOtherClass {
private int myInt = 5;
public int getMyInt() {
return myInt;
}
}
class MyMainClass {
public static void main (String [] args) {
MyClass myObject = new MyClass();
MyOtherClass myOtherObject = new MyOtherClass();
// which is faster?
System.out.println(myObject.myInt);
System.out.println(myOtherObject.getMyInt ());
}
}
我知道我可以测试它,但如果有人已经知道它,那也没什么坏处:) 提前致谢!
最佳答案
公有访问和私有(private)访问无非就是在编译时判断你是否有权限访问一个变量。在运行时,它们完全相同。这意味着如果您可以欺骗 JVM 认为您可以访问(通过反射、不安全或修改字节码),那么您就可以。 public 和 private 只是编译时的信息。这并不是说它没有存储在字节码中,因为它确实存储在字节码中,但只是为了在某些东西试图针对它进行编译时可以引用它。
关于java - 速度优化 : private and public variables - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7365329/