Sync Singleton to Java 25: split 6 implementations into separate files, consolidated Main.java demo

This commit is contained in:
2026-06-23 11:11:02 +05:30
parent 2fbf89875b
commit 4b6a02f396
9 changed files with 176 additions and 23 deletions

View File

@@ -0,0 +1,24 @@
package singleton;
public class AppConfigEager {
// The JVM creates this instance when the class is first loaded.
// static guarantees it belongs to the class, not any instance.
// final guarantees it can never be reassigned.
private static final AppConfigEager INSTANCE = new AppConfigEager();
// Private constructor: prevents any other class from calling new AppConfigEager()
private AppConfigEager() {
System.out.println("Reading configuration from file...");
// load properties, set up values, etc.
}
// The only way to get the instance
public static AppConfigEager getInstance() {
return INSTANCE;
}
public String getProperty(String key) {
return System.getProperty(key, "(not set)");
}
}