Как эффективно реализовать создание только одного экземпляра класса? Необходимо чтобы создавать можно было только один объект. Вот что получилось у меня
class Loader{
private static int id = 0;
static Loader newLoader(){
if(id == 0){
id++;
return new Loader();
}
else
return null;
}
private Loader(){
}
}
Насколько это правильно? И Можно ли сделать так, чтобы метод newLoader() не возвращал null в случае наличия уже созданного объекта, а присваивал ссылке тот же объект? То есть чтобы ссылка на объект не терялась.
Ответ
Вы "изобрели" singleton, в интернете полно примеров реализации.
Самый простой пример:
public class Singleton {
private static Singleton instance;
public static synchronized Singleton getInstance() {
if (instance == null)
instance = new Singleton();
return instance;
}
}
Комментариев нет:
Отправить комментарий