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

前端之家收集整理的这篇文章主要介绍了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的编码风格指南链接,非常感谢!)

猜你在找的Java相关文章