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 类有默认值吗?的主要内容,如果未能解决你的问题,请参考以下文章

angularjs路由可以有默认参数值吗?

主函数可以有默认参数值吗?

函数调用的结果可以用作默认参数值吗?

有啥理由给 self 一个默认值吗?

RESTful API 设计:url 参数应该有默认值吗?

Wildfly 中的 @Dependent 范围不是默认值吗?