SupportMapFragment类创建它的对象

时间:2013-12-26 03:01:15

标签: java android class

这是我的问题。如果有人能帮助我,我非常感激。

SupportMapFragment mapFrag = getFragmentManager().findFragmentById(R.id.map))

要创建类的对象,我们必须实例化它。所以根据这段代码,它应该是

SupportMapFragment mapFrag = new SupportMapFragment();

然后我们必须致电

mapFrag.getFragmentManager().findFragmentById(R.id.map))

我可能错了。但我想知道如果没有新的关键词,这段代码是如何工作的。

2 个答案:

答案 0 :(得分:4)

SupportMapFragment正在getFragmentManager()方法中实例化,并且引用返回给您。

必须看起来像这样:

SupportMapFragment getFragmentManager() {
    return new SupportMapFragment();
}

答案 1 :(得分:4)

我相信你看到的是Factory method pattern的一个实例; Factory method pattern

工厂方法允许API更准确地了解我们的类如何根据具体情况获得“产品”(或片段)。它可能很简单,

SupportMapFragment getFragmentManager() {
  return new SupportMapFragment();
}

但是,我认为更有可能的是,它是Flyweight实施中使用的工厂(基于“片段”一词) -

Flyweight pattern