22

java中什么时候使用getInstance()方法,getInstance(null)是什么意思?

locationProvider = LocationProvider.getInstance(null); 

谁能告诉我上面这行的意思?

4

3 回答 3

37

使用getInstance()方法等的类属于单例设计模式。基本上,该特定类只会有一个实例,您可以使用getInstance().

在这种情况下,LocationProvider只会有一个实例,因为它是特定于设备的。您可以通过使用该getInstance()方法来使用共享实例,而不是创建它的新实例。在处理数据管理器和硬件接口之类的事情时,Java 中经常使用单例模式,但它不应该用于太多其他事情,因为它将您限制在单个实例中。

于 2012-05-07T05:54:19.940 回答
4

方法getInstance()称为工厂方法。它用于创建单例类。这意味着只会创建该类的一个实例,而其他实例将获得该类的引用。

于 2012-05-07T05:56:13.710 回答
3

以下代码将为您提供纬度和经度。getInstance() 将返回该特定类的实例。

    Criteria myCriteria = new Criteria();
    myCriteria.setCostAllowed(false);
    LocationProvider myLocationProvider = LocationProvider.getInstance(myCriteria);
    Location myLocation = myLocationProvider.getLocation(300);
    latitude  = myLocation.getQualifiedCoordinates().getLatitude();
    longitude = myLocation.getQualifiedCoordinates().getLongitude();
于 2012-05-07T05:56:17.953 回答