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

当引用具有getter / setter的Java POJO的内部私有变量时,我使用了以下术语:


领域

变量

属性

属性

两者之间有什么区别吗?如果是这样,正确使用的术语是什么?保留该实体时,是否有其他术语可以使用?


小怪兽爱吃肉
浏览 731回答 3
3回答

DIEA

就在这里。变量可以是局部变量,字段变量或常量变量(尽管从技术上讲这是错误的)。像属性一样模糊。另外,您应该知道有些人喜欢调用最终的非静态(局部或实例)变量“ 价值观 ”。这可能来自新兴的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;    }}还有更多的组合,但是我的手指很累:)

隔江千里

如果您的问题是通过使用JAXB提示的,并且想要选择正确的问题XMLAccessType,那么我也有同样的问题。JAXB Javadoc说“字段”是一个非静态,非瞬态的实例变量。“属性”具有一个getter / setter对(因此它应该是一个私有变量)。“公共成员”是公共的,因此可能是一个常数。同样在JAXB中,“属性”是指XML元素的一部分,如中所述<myElement myAttribute="first">hello world</myElement>。看起来,Java“属性”通常可以定义为具有至少一个getter或其他一些允许您获取其值的公共方法的字段。有人还说,财产需要有塞特犬。对于这样的定义,上下文就是一切。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java