2012-05-07 5 views

答えて

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(); 
29

getInstance()メソッドなどを使用するクラスはsingleton design patternです。 基本的に、その特定のクラスのインスタンスは1つしかなく、getInstance()で取得します。

この場合、LocationProviderはデバイス固有であるため、1つのインスタンスしか持てません。新しいインスタンスを作成する代わりに、getInstance()メソッドを使用して共有インスタンスを使用できます。シングルトンパターンは、データマネージャやハードウェアインターフェイスなどを処理するときにJavaでよく使用されますが、単一のインスタンスに制限されるため、あまり使用しないでください。

3

方法getInstance()はファクトリメソッドと呼ばれます。シングルトンクラスの作成に使用されます。つまり、そのクラスのインスタンスは1つだけ作成され、他のインスタンスはそのクラスの参照を取得します。

+0

これは間違っています。たとえば、 'Calendar.getInstance()== Calendar.getInstance()'は 'false'です。 – gwg

関連する問題