java SE 静态决赛

java SE static final

public class Shape {
    public static int counter = 0;
}

Eclipse 告诉我使用 counterfinal 还是不使用 static?为什么?

拥有一个非 final 的 public static 是完全有效的,但是你可能启用了一个 "lint" 选项警告你不要这样做,因为这通常是不好的做法(所有常见的注意该规则可能有例外)。不可能肯定地说,因为你没有引用确切的 error/warning/message.

可变 public 静态字段使编写测试代码变得困难,并导致 class 与字段和 class 使用字段之间的紧密链接。同样,它完全有效,只是通常不是您想做的。