可以将默认属性设置为Java类吗?
这曾经是VB中的一个小技巧,所以我的代码看起来像这样;
Team.Score;
而不是
Team.Score.getScore();
它不是一个显示阻止,但由于这是我的第一个Java应用程序,我不得不怀疑。
答案 0 :(得分:2)
无法隐式调用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
对于setter,您可以选择
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