Скажите мне, когда использовать метод getInstance() в java.
Когда использовать метод getInstance() в java и в чем смысл getInstance (null)?
locationProvider = LocationProvider.getInstance(null);
может ли кто-нибудь рассказать мне смысл вышеприведенной строки?
Ответы
Ответ 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. Он используется для создания одноэлементного класса. Это означает, что будет создан только один экземпляр этого класса, а другие получат ссылку на этот класс.