JavaBeans:属性和属性之间有什么区别?

Mo *_*osa 5 java attributes properties javabeans

在我的修订列表的JavaBean部分中,它声明我应该知道"属性和属性之间的区别".我真的找不到两者之间的区别.我知道JavaBeans使用属性,而普通的Java类使用属性(或者至少就是我所教授的那些属性),但我看不出真正的区别.

它与getter/setter方法有关吗?

谢谢

Tom*_*icz 7

例子

属性和属性是等效的

private int age;

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
Run Code Online (Sandbox Code Playgroud)

属性age转换为personAge属性

private int personAge;

public int getAge() {
    return personAge;
}

public void setAge(int age) {
    this.personAge = age;
}
Run Code Online (Sandbox Code Playgroud)

属性是综合的,没有属性

在这种情况下,该属性是只读的:

private int age;
private Sex sex;

public boolean isFemaleAdult() {
    return sex == Sex.FEMALE && age >= 18
}
Run Code Online (Sandbox Code Playgroud)

我在Tapestry文档中发现了一些相关的提示:

属性与属性不同...但是,大多数情况下,每个属性都由属性备份.

然后:

另一种常见模式是合成属性.在这里,根本没有真正的属性,值总是在运行中计算.