JavaでgetInstance()メソッドを使用する場合とgetInstance(null)の意味は何ですか?
locationProvider = LocationProvider.getInstance(null);
上記の行の意味を教えてもらえますか?
次のコードは、緯度と経度を提供します。 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();
getInstance()
メソッドなどを使用するクラスは、 シングルトンデザインパターン です。基本的に、その特定のクラスのインスタンスは1つだけであり、getInstance()
で取得します。
この場合、LocationProvider
はデバイス固有であるため、インスタンスを1つしか持ちません。新しいインスタンスを作成する代わりに、getInstance()
メソッドを使用して共有インスタンスを使用できます。シングルトンパターンは、データマネージャーやハードウェアインターフェイスなどを扱うときにJavaでよく使用されますが、単一のインスタンスに制限されるため、あまり使用しないでください。
メソッドgetInstance()
はファクトリーメソッドと呼ばれます。シングルトンクラスの作成に使用されます。つまり、そのクラスの1つのインスタンスのみが作成され、他のインスタンスはそのクラスの参照を取得します。