问答详情
源自:4-3 Java线程交互之互斥与同步:守恒的能量

例子中为什么要用final?

	private final double[] energyBoxes;
	private final Object lockObj = new Object();

如上,为什么要用final修饰?

提问者:慕斯卡3197864 2018-05-24 14:09

个回答

  • 陈晨辰_
    2019-04-01 16:07:49

    final修饰的数组只是说你的数组不能再指向其他数组对象, 但它指向的数组的内容是可以变的!

    而final修饰的锁对象为了保证多线程进行过程中的安全


  • hemimTNT
    2018-05-26 11:54:15

    final可以理解为常量,不希望程序继续对变量进行修改了。这里energyBox用于判断能量守恒,lockObj作为锁的标记,都应该保持原来的状态,所以用final