java – 当字段vars是final时,是否需要getter?

Java中,约定(就我而言),使您的字段变量为私有,并使用getter和/或setter访问它们.这样就可以设置更改变量值的规则.

但是如果变量是最终的呢?例:

public class Test {

    public final int MY_INT;

    public Test(int myInt) {
        MY_INT = myInt;
    }

}

这会被允许吗?它是编译和工作正常,但它被认为是很好的代码

解决方法

这是编译,但它不被认为是好的代码.

MY_INT违反命名约定:所有大写的名称都用于静态最终变量,也称为“类常量”(参见thisthis,Google’s Java style guide).为了符合命名约定,最好将其重命名为myInt.

建议您提供一个吸气剂来隐藏课程的实施细节.
接口只包含方法,而不包含字段.
如果你让别的人通过名字来引用这个字段,
那么你以后会失去改变名字或你内部表现的自由.

但最重要的是,
子类不能覆盖字段,它们只能覆盖方法.
如果你提供一个吸气剂而不是一个领域,
子类将能够覆盖并实现不同的行为.
所以最好提供一个吸气剂,并禁止直接进入场地本身.

(感谢@Sotirios Delimanolis的编码风格指南链接,非常感谢!)

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...