我们目前正在对OCA证书进行相同的测试,而今天我们遇到了一个小问题。
我会尽量保持简短:

Which are methods using JavaBeans naming conventions for accessors and mutators?

(Choose all that apply)
A. public boolean getCanSwim() { return canSwim;}
B. public boolean canSwim() { return numberWings;}
C. public int getNumWings() { return numberWings;}
D. public int numWings() { return numberWings;}
E. public void setCanSwim(boolean b) { canSwim = b;}

答案(由OCA SE 8指定): C E

我们的讨论是在C点:

public int getNumWings (){返回 numberWings ;}

我的同事们的观点是,由于下面提到的规则,这是错误的。方法访问者必须是 getNumberWings ,所以 C 点是错误的。我附上了OCA的规则表,它认为规则5是错误的。 PHOTO of Rules for JavaBeans naming convention on OCA SE 8 page 206

据我所知,方法的名称不必尊重属性。
您对此有何看法?

OCA Oracle认证助理Java SE 8程序员I学习指南考试1Z0-808

我还尝试在以下方面找到合适的答案:

oracle的JavaBeans约定:http://download.oracle.com/otn-pub/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/beans.101.pdf?AuthParam=1484818426_7e07f5a35c14ebfbadb2c68798198d7e

JavaBeans约定(简而言之是Java)

最佳答案

您的同事(我认为)在争论

public int getNumWings() { return numberWings;}

违反JavaBean,因为字段名称和属性名称不同。

规范不支持。 Java Bean约定(编码为here)状态为:



请注意,它并没有说明(通常)保存属性值的private字段的名称。实际上,如果属性值可以用其他方式表示,则该字段甚至可能不存在。

10-01 12:35