为了账号安全,请及时绑定邮箱和手机立即绑定

Java POJO中的字段,变量,属性和属性有什么区别?

Java POJO中的字段,变量,属性和属性有什么区别?

小怪兽爱吃肉 2019-10-15 09:56:26
当引用具有getter / setter的Java POJO的内部私有变量时,我使用了以下术语:领域变量属性属性两者之间有什么区别吗?如果是这样,正确使用的术语是什么?保留该实体时,是否有其他术语可以使用?
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

就在这里。


变量可以是局部变量,字段变量或常量变量(尽管从技术上讲这是错误的)。像属性一样模糊。另外,您应该知道有些人喜欢调用最终的非静态(局部或实例)变量


“ 价值观 ”。这可能来自新兴的JVM FP语言,例如Scala。


字段通常是实例类上的私有变量。这并不意味着有一个getter和setter。


属性是一个模糊的术语。它很容易与XML或Java Naming API混淆。尽量避免使用该术语。


属性是getter和setter的组合。


下面的一些例子


public class Variables {


    //Constant

    public final static String MY_VARIABLE = "that was a lot for a constant";


    //Value

    final String dontChangeMeBro = "my god that is still long for a val";


    //Field

    protected String flipMe = "wee!!!";


    //Property

    private String ifYouThoughtTheConstantWasVerboseHaHa;


    //Still the property

    public String getIfYouThoughtTheConstantWasVerboseHaHa() {

        return ifYouThoughtTheConstantWasVerboseHaHa;

    }


    //And now the setter

    public void setIfYouThoughtTheConstantWasVerboseHaHa(String ifYouThoughtTheConstantWasVerboseHaHa) {

        this.ifYouThoughtTheConstantWasVerboseHaHa = ifYouThoughtTheConstantWasVerboseHaHa;

    }


}

还有更多的组合,但是我的手指很累:)


查看完整回答
反对 回复 2019-10-15
?
隔江千里

TA贡献1906条经验 获得超10个赞

如果您的问题是通过使用JAXB提示的,并且想要选择正确的问题XMLAccessType,那么我也有同样的问题。JAXB Javadoc说“字段”是一个非静态,非瞬态的实例变量。“属性”具有一个getter / setter对(因此它应该是一个私有变量)。“公共成员”是公共的,因此可能是一个常数。同样在JAXB中,“属性”是指XML元素的一部分,如中所述<myElement myAttribute="first">hello world</myElement>。


看起来,Java“属性”通常可以定义为具有至少一个getter或其他一些允许您获取其值的公共方法的字段。有人还说,财产需要有塞特犬。对于这样的定义,上下文就是一切。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 730 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信