private static final Logger logger = LoggerFactory.getLogger(TryCatchTest.class);
Java编码风格指南在第3.3节“字段命名”中说明了这一点 :
遵循这个约定, logger是一个static final对象引用,如第2点所述,但是因为每次使用它时都会紧跟“ . ”,所以它不能被视为常量,因此应该是小写。
Google的风格 ( Google Java Style )
每个常量都是静态最终字段,但并非所有静态最终字段都是常量。 在选择不变的情况下,考虑该领域是否真的感觉像一个常数。 例如,如果任何一个实例的可观察状态都可以改变,那么它几乎肯定不是一个常量。 仅仅意图从不改变对象通常是不够的。
例子:
// Constants
static final int NUMBER = 5;
static final ImmutableList
static final Joiner COMMA_JOINER = Joiner.on(','); // because Joiner is immutable
static final SomeMutableType[] EMPTY_ARRAY = {};
enum SomeEnum { ENUM_CONSTANT }
// Not constants
static String nonFinal = "non-final";
final String nonStatic = "non-static";
static final Set
static final ImmutableSet
static final Logger logger = Logger.getLogger(MyClass.getName());
static final String[] nonEmptyArray = {"these", "can", "change"};