问题描述
因此,从Java 9开始,我们可以使用var声明局部变量:
var s = "cool";
有没有办法在声明字段时使用类似的构造?
class Container {
final var s = "cool"; // does not compile tmk
}
据我所知,这似乎并不像。
1楼
有没有办法在声明字段时使用类似的构造?
没有。
根据 :
这种处理将仅限于具有初始化程序的局部变量,增强的for循环中的索引以及在传统的for循环中声明的局部变量; 它不适用于方法形式,构造函数形式,方法返回类型, 字段 ,catch形式或任何其他类型的变量声明。
2楼
不, 。
var
不是关键字,而是具有特殊含义的标识符,作为局部变量声明的类型(第14.4节,第14.1节,第14.12节,第14.20.3节)。
var
只能在具有以下语法的使用
LocalVariableDeclarationStatement:
LocalVariableDeclaration ;
LocalVariableDeclaration:
{VariableModifier} LocalVariableType VariableDeclaratorList
LocalVariableType:
UnannType
var
不包含允许使用var
特殊标识符的语法:
FieldDeclaration:
{FieldModifier} UnannType VariableDeclaratorList ;