Sync Singleton to Java 25: split 6 implementations into separate files, consolidated Main.java demo
This commit is contained in:
24
01-creational/singleton/AppConfigEager.java
Normal file
24
01-creational/singleton/AppConfigEager.java
Normal 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)");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user