是否有一个Checkstyle规则限制非静态变量和方法的访问?
这应该会引发一个警告:
instance.staticField = value;
Eclipse有相应的设置,但我想在构建过程中强制执行此设置。
是否有一个Checkstyle规则限制非静态变量和方法的访问?
这应该会引发一个警告:
instance.staticField = value;
javac -Xlint:static -Werror toto.java
。-Xlint:name
:启用警告名称。有关可使用此选项启用的警告列表,请参见带有-Xlint选项的可以启用或禁用的警告 部分。
-Werror
:如果发生警告,则终止编译。
public class StaticTest {
public static String toto = "toto";
public static void main(String s[]) {
StaticTest st = new StaticTest();
st.toto="dfd";
}
}
输出结果为:
StaticTest.java:16: warning: [static] static variable should be qualified by type name,
StaticTest, instead of by an expression
st.toto="dfd"; ^
error: warnings found and -Werror specified 1 error 1 warning
instance.staticField = ...
这样的语句时,想要触发编译错误? - alain.janinm