java如何为最终属性赋值

use*_*460 1 java arrays implementation

我们知道Array对象(数组)有一个length属性,它在Java中声明为:

public final int length;
Run Code Online (Sandbox Code Playgroud)

它被声明为final,因此不需要访问器,除非创建一个新数组,否则我们不能更改length的值.

我的问题是:我很好奇Java是如何实现数组类的,以便它们能够在第一次length声明它时赋值final

实现如何?


注意:我不是问如何更改数组的长度.我问它是如何实现的,以便可以更新最终属性的值.

Jig*_*shi 7

它没有改变它的价值,它只分配一次而且永远不会改变.数组是每个实例的固定长度,数组final为其构造函数中的字段赋值(只要它只有一次).

  • 在构造函数中,您可以将值赋给`final`字段 (4认同)