Подтвердить что ты не робот

Скажите мне, когда использовать метод getInstance() в java.

Когда использовать метод getInstance() в java и в чем смысл getInstance (null)?

locationProvider = LocationProvider.getInstance(null); 

может ли кто-нибудь рассказать мне смысл вышеприведенной строки?

4b9b3361

Ответ 1

Следующий код даст вам широту и долготу. 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();

Ответ 2

Классы, которые используют методы getInstance() и т.д., имеют шаблон singleton design. В принципе, будет только один экземпляр этого конкретного класса, и вы получите его с помощью getInstance().

В этом случае LocationProvider будет иметь только один экземпляр, поскольку он специфичен для устройства. Вместо создания новых экземпляров вы можете использовать общий экземпляр с помощью метода getInstance(). Шаблон singleton часто используется в Java при работе с такими вещами, как диспетчеры данных и аппаратные интерфейсы, но его нельзя использовать слишком много, поскольку он ограничивает вас одним экземпляром.

Ответ 3

Метод getInstance() называется factory. Он используется для создания одноэлементного класса. Это означает, что будет создан только один экземпляр этого класса, а другие получат ссылку на этот класс.