【问题标题】:what's user of static object filed in service layer服务层中的静态对象字段有什么用
【发布时间】:2015-06-05 11:20:43
【问题描述】:

在我的 AccountService 类中,有静态字段 AccountDao,这也是为什么我们需要声明为静态的类,我知道这将用于访问
classname.staticfield 访问类中的每个位置,但与其他类对象声明为静态有什么用?提前致谢

 public class AccountService {

private static AccountDao accountinfo;

public AccountService() {
    accountinfo = new AccountDao();
} }

【问题讨论】:

  • 您的问题不清楚。你能试着更详细地解释你的问题是什么吗?请使用标点符号。
  • 抱歉不明白你的问题。你能试着说得更清楚吗?
  • 我怀疑我完全理解了你的问题。您可以在类中获取静态字段,而无需创建类的实例,无论它是原始类型还是类类型。
  • 静态声明其他类对象有什么用??

标签: java class static field


【解决方案1】:

静态成员由类的所有实例共享。在您的示例中,AccountService 的所有实例只能访问一个名为 accountinfoAccountDao 实例。

为什么在你的情况下这样做,我不知道。更糟糕的是,每次创建 AccountService 的新实例时,都会再次实例化 accountinfo。这意味着一旦创建了 AccountService 的另一个实例,旧实例就不能引用 accountinfo 的原始对象。

通常,使用静态成员的原因有很多,例如逻辑(1:n 关系),性能(所有对象共享一个资源)。不管是什么原因:在何时以及如何(重新)实例化一个静态成员时要小心,因为该类的所有对象都可能希望在不同的时间使用这个成员。

【讨论】:

    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 2017-02-23
    • 2016-08-31
    • 1970-01-01
    • 2016-05-08
    • 2016-05-15
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多