There must be exactly one instance of a class, and it must be accessible to clients from a well-known access pointExample: Trash in windows

Solution
Create a class that
1) Keeps its constructor private
2) Keeps an instance in a private, static variable
3) Provides a public, static method to retrieve that instance
Implementation codepublic class SingletonClass {
private static SingletonClass instance = new SingletonClass ();
public static SingletonClass getSingletonClassObject() {
return instance;
}
private SingletonClass() {
// do sth here ...
}
// more methods ...
}
Test class
public class TestSingtonClass {
public static void main(String[] args) {
SingletonClass s1 = SingletonClass.getSingletonClass();
SingletonClass s2 = SingletonClass.getSingletonClass();
System.out.println(s1);
System.out.println(s2);
// use SingletonClass object here ...
}
}
Singleton pattern in JDK
See class java.lang.Runtime
......
public class Runtime {
private static Runtime currentRuntime = new Runtime();
public static Runtime getRuntime() {
return currentRuntime;
}
/** Don't let anyone else instantiate this class */
private Runtime() {}
......
}
Recommended books:
0 comments:
Post a Comment