22

javaでgetInstance()メソッドをいつ使用するか、およびgetInstance(null)の意味は何ですか?

locationProvider = LocationProvider.getInstance(null); 

上の行の意味を誰か教えてください。

4

3 に答える 3

37

getInstance()メソッドなどを使用するクラスはシングルトン設計パターンです。基本的に、その特定のクラスのインスタンスは 1 つだけ存在し、getInstance().

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

于 2012-05-07T05:54:19.940 に答える
4

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

于 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 に答える