【问题标题】:does Java class have a default value?Java 类有默认值吗?
【发布时间】:2014-05-17 07:21:59
【问题描述】:

可以将默认属性设置为 Java 类吗?

这曾经是 VB 中的一个小技巧,所以我的代码看起来像这样;

Team.Score;

而不是

Team.Score.getScore();

这算不上什么表演,但由于这是我的第一个 Java 应用程序,我不得不怀疑。

【问题讨论】:

  • 这在java中是不可能的
  • 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

【讨论】:

    猜你喜欢
    • 2014-09-19
    • 2016-07-17
    • 2021-06-14
    • 1970-01-01
    • 2012-09-25
    • 2013-06-15
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多