在Java中使用此语句时:
final int nr = 10;
我一直宣称常数。
在其他语言的书籍中,例如C#或C ++,我们可以使用const
。
关键字const
被称为 类型限定符 ,因为它是一个修改和细化变量属性的属性。
所以像const int nr = 10;
这样的陈述是 常量整数 ,因为
" const qualified int"。
但是JLS从未被引用final
作为类型限定符,但通常表示为 修饰符 ( 类型修饰符? )。
但改变者是什么?变量?类型?
所以,最后,我的问题是:是最终的类型限定符吗?
答案 0 :(得分:6)
Java中没有 type qualifiers 这样的东西。
在声明变量的上下文中使用final
时,它仅表示无法将其他内容分配给该变量。
对于像int
这样的原始类型,有效地使其类似于C ++的const
。
对于引用类型,这意味着您无法重复使用该变量来引用其他对象。但您仍然可以通过final
引用修改该对象。