java - 在 Java 中将字符串设置为私有(private)或公共(public)

标签 java string private immutability public

Java 中的字符串被认为是不可变的。 所以如果我说

String one = "myString";

String two = "myString";

在内部,两个对象将使用相同的文字。 现在让我困惑的是,为什么我应该在不同的类中将字符串设为私有(private),而在内部它们将引用相同的字符串文字。

仅仅是外部元素(如类或对象)不知道类内部有哪些成员吗?

最佳答案

可见性和访问权限实际上只在编译期间存在,以检查您是否能够执行此或操作,在运行时通常您可以调用私有(private)方法或通过不同的 hack 更改不可变数据

另一点:这些字符串是不可变的,因此您无法通过标准方法更改它们的值,因此它们可以位于内存中的同一位置,并且哪个类使用它们并不重要

关于java - 在 Java 中将字符串设置为私有(private)或公共(public),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373823/

相关文章:

java - 从父类(super class)创建子类

java - 如何从自己的项目中获取 Jar 文件并将其写入 Windows 文件夹

java - 在 Java 中将字符串解析为比较器类型

java - JComponent InputMap 神秘地被删除

java - 无法在 Eclipse IDE 中安装 tern.java

c - C中Sprintf函数的使用

ios - 如何在 Swift 4 中更改文本字段中的文本时每 2 个字符后添加分隔符

python - Python的可访问类变量,敏感数据和恶意编码器(黑帽黑客)

c# - 为什么要在属性访问器中使用私有(private)变量?

php - 在 PHP 中将变量传递给私有(private)类时出现问题