【问题标题】:does Java class have a default value?Java 类有默认值吗?
【发布时间】:2014-05-17 07:21:59
【问题描述】:
可以将默认属性设置为 Java 类吗?
这曾经是 VB 中的一个小技巧,所以我的代码看起来像这样;
Team.Score;
而不是
Team.Score.getScore();
这算不上什么表演,但由于这是我的第一个 Java 应用程序,我不得不怀疑。
【问题讨论】:
标签:
java
class
properties
default
【解决方案1】:
没有办法隐式调用 getter 或 setter。一般来说,Java 避免了任何隐式行为(直到 Java 8),所以你必须说出你想让代码做什么。这样做的好处是您可以更清楚地看到代码在做什么的细节。不利的一面是,您无法隐藏代码正在执行的操作的详细信息,因此作者可以轻松地突出显示代码应该执行的操作。
你的选择是
获取价值
int x = myObject.my_value; // get a field, not ideal as it break encapsulation
int y = myObject.value(); // short getter style
int z = myObject.getValue();// JavaBean getter style
对于二传手,你的选择是
MyObject(int value); // only set it in the constructor
myObject.m_value = x; // not ideal again
myObject.value(y); // short setter style
myObject.setValue(z); // JavaBean setter