web-dev-qa-db-ja.com

JavaでgetInstance()メソッドを使用するタイミングを教えてください。

JavaでgetInstance()メソッドを使用する場合とgetInstance(null)の意味は何ですか?

locationProvider = LocationProvider.getInstance(null); 

上記の行の意味を教えてもらえますか?

21
Sravani

次のコードは、緯度と経度を提供します。 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();
3
Signare

getInstance()メソッドなどを使用するクラスは、 シングルトンデザインパターン です。基本的に、その特定のクラスのインスタンスは1つだけであり、getInstance()で取得します。

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

32
Alexis King

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

4
Bhavik Ambani