在
Java中,约定(就我而言),使您的字段变量为私有,并使用getter和/或setter访问它们.这样就可以设置更改变量值的规则.
但是如果变量是最终的呢?例:
public class Test { public final int MY_INT; public Test(int myInt) { MY_INT = myInt; } }
这会被允许吗?它是编译和工作正常,但它被认为是很好的代码?
解决方法
这是编译,但它不被认为是好的代码.
MY_INT违反命名约定:所有大写的名称都用于静态最终变量,也称为“类常量”(参见this和this,Google’s Java style guide).为了符合命名约定,最好将其重命名为myInt.
建议您提供一个吸气剂来隐藏课程的实施细节.
接口只包含方法,而不包含字段.
如果你让别的人通过名字来引用这个字段,
那么你以后会失去改变名字或你内部表现的自由.
但最重要的是,
子类不能覆盖字段,它们只能覆盖方法.
如果你提供一个吸气剂而不是一个领域,
子类将能够覆盖并实现不同的行为.
所以最好提供一个吸气剂,并禁止直接进入场地本身.
(感谢@Sotirios Delimanolis的编码风格指南链接,非常感谢!)