java - 构造对象时对对象的最终引用

标签 java

假设我有一些类的引用,它是最终类:

public final Mycalss ref;

并且 MyClass 有几个属性(不是最终的)。现在,当我像这样构造 MyClass 对象时:

ref = new MyClass( some arguments);

这是否意味着其他线程可以安全地看到 Myclass 的内容,因为它是最终引用的?

最佳答案

使引用final 意味着一旦您将一个对象分配给该引用,您就不能将其他对象分配给该引用。

但即使引用声明为 final,您也可以更改同一对象的值。

喜欢:

public final Myclass ref;
ref = new Myclass();

//this is not allowed
ref = new MyClass();   //since you have already assigned an object to your final reference

//this is allowed
ref.setSomeProperty("abc"):

有关线程和最终的答案,请参阅@Erwin Bolwidt 的答案。

关于java - 构造对象时对对象的最终引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321307/

相关文章:

java - 以编程方式更改 JavaFX TableView Vertical ScrollBar 值

java - Volley AppController 类对象返回 null

java - 在 Vaadin 框架中,如何获取客户端时区以用于渲染显示的第一个页面

java - 将条件转移到多个方法中

java - Java中C是A的子类时 "C c = new C()"和 "A c = new C()"的区别

java - 准备好的语句不从 oracle XE 数据库返回任何结果

java - ItemizedOverlay 具有更多字段

java - 待定 Intent 总是进行新 Activity

java - 在 JVM 中运行 Android UI

java - 如何改变JFrame中标题栏的颜色?