Java 类有默认值吗?
Posted
技术标签:
【中文标题】Java 类有默认值吗?【英文标题】:does Java class have a default value? 【发布时间】:2014-05-17 07:21:59 【问题描述】:可以将默认属性设置为 Java 类吗?
这曾经是 VB 中的一个小技巧,所以我的代码看起来像这样;
Team.Score;
而不是
Team.Score.getScore();
这算不上什么表演,但由于这是我的第一个 Java 应用程序,我不得不怀疑。
【问题讨论】:
这在java中是不可能的 Java 中没有默认属性的概念 这会导致代码更短,但代码也不太清晰。 谢谢大家。我想了很多,但值得一试。 【参考方案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
【讨论】:
以上是关于Java 类有默认值吗?的主要内容,如果未能解决你的问题,请参考以下文章