Реализация класса Singleton, частный конструктор, все еще инициализируется. Нужно ли мне получать доступ к Singleton из JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Реализация класса Singleton, частный конструктор, все еще инициализируется. Нужно ли мне получать доступ к Singleton из

Сообщение Anonymous »

как мне создать экземпляр Singleton s3, даже если конструктор является частным, проверен в локальной среде и онлайн-компиляторе, он работает

Код: Выделить всё

public class Singleton {

// Step 1: Declare a private static instance of the Singleton class
private static Singleton s = null;

// Step 2: Make the constructor private to prevent instantiation
private Singleton() {
}

// Step 3: Provide a public static method to get the instance
public static Singleton getIns() {
if (s == null) { // Check if an instance already exists
s = new Singleton(); // Create a new instance if it doesn't
}
return s; // Return the Singleton instance
}

public static void main(String[] args) {

Singleton s1 = Singleton.getIns();
Singleton s2 = Singleton.getIns();

Singleton s3 = new Singleton();

System.out.println(s1 == s2); // Output should be true
}
}
Я ожидал ошибку компиляции для s3, но он компилируется и работает нормально

Подробнее здесь: https://stackoverflow.com/questions/791 ... izing-do-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»