在类定义中创建对象

时间:2013-11-21 20:29:36

标签: java android object

以下代码中的第4行是什么意思?它应该是一个StatusTracker类型的空参数对象被创建?

如果这个问题过于简单,我道歉。我是android新手,只有非常基本的java知识。到目前为止,我从未见过在类体中定义的对象......

public class StatusTracker {
  private Map<String, String> mStatusMap;
  private List<String> mMethodList;
  private static StatusTracker ourInstance = new StatusTracker();
  private static final String STATUS_SUFFIX = "ed";

  public static StatusTracker getInstance() {
    return ourInstance;
  }

  private StatusTracker() {
    mStatusMap = new LinkedHashMap<String, String>();
    mMethodList = new ArrayList<String>();
  }

/* other class functions ... */

}

2 个答案:

答案 0 :(得分:1)

这是一个单例对象,这意味着只创建了一个实例,您可以使用StatusTracker.getInstance()方法访问它。

答案 1 :(得分:1)

我想在你刚开始的时候详细说清楚事情,

StatusTracker myInstance = new StatusTracker();

我们可以在您看到的同一个类中定义类的对象。这是我们在许多数据结构中使用的非常重要的属性。

含义:这意味着我们可以用另一个对象保存一个对象的内存地址,这样两个对象的类型都是相同的。

静态StatusTracker myInstance = new StatusTracker();

定义一个memeber静态意味着,该成员与该类相关联,而不与该类的任何对象相关联。它可以通过类名修改。

单身人士课程

public static StatusTracker getInstance() {
return ourInstance;
}

此代码帮助我们在整个程序中只保留此类的一个对象。如果我们想要在此对象中保存整个程序的集中数据,这可能很有用。

我们可以使用

从任何地方访问我们的中心数据
StatusTracker.getInstance()