加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:24:57 所属栏目:Java 来源:网络整理
导读:在 Java中,约定(就我而言),使您的字段变量为私有,并使用getter和/或setter访问它们.这样就可以设置更改变量值的规则. 但是如果变量是最终的呢?例: public class Test { public final int MY_INT; public Test(int myInt) { MY_INT = myInt; }} 这会被允许
在 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的编码风格指南链接,非常感谢!)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读