and*_*ndy 3 java variables static final class
我有类似的东西:
(SomeClass)
public static final float[][][] values = {...};
public float[][][] variable = values;
Run Code Online (Sandbox Code Playgroud)
所以,我创建了这个类的一个新实例,并将其传递values给public这个类的一个成员,就像我在那里做的那样.
事情是,当我variable现在使用并更改它和东西时,它会在所有实例中发生变化SomeClass.
final我认为在申报后不能修改?那么为什么不是variable更像是副本values而是被修改为一个static但不是 final变量?
当你这样做时会发生什么
public static final float[][][] values = {...};
public float[][][] variable = values;
Run Code Online (Sandbox Code Playgroud)
两者values并variable"指向"相同的引用(即到内存中的相同位置).
什么final意思是你不能改变那个引用(即你不能让变量引用内存中的另一个位置).您仍然可以修改变量引用的对象.
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |