微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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的编码风格指南链接,非常感谢!)

原文地址:https://www.jb51.cc/java/126434.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐