public static final String初始化问题

public static final String CONF_RESOURCE = ("/spring/staticConstants.properties");为什么需要使用双括号,不是只需要使用双引号就可以了吗

Java 中的小括号是用来限定逻辑运算的优先级或者方法参数定义的。
有时候为了代码易懂,逻辑运算以外的其他地方也使用它,没有啥具体意义,编译器不会报错。

此处的括号明显是多余的~~~

编译肯定不会出错,因为没有语法错误

你甚至可以这么写:

public static final String CONF_RESOURCE = (String)((String)("/spring/staticConstants.properties"));

static final String CONF_RESOURCE = "/spring/staticConstants.properties";//error
对终态的静态变量值不能进行赋值操作,

加上双括号后就变成,实例化赋值构造,而不是构造后再赋值