• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Understanding singleton pattern

 
John Fairbairn
Ranch Hand
Posts: 55
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Trying to fully understand the singleton pattern where you only want one instance of a class to exist (i.e. a database connection pool). Static methods exists at the class level and should be independent of instance state. The getInstance() method returns an instance of the singleton class. This instance is declared as static which means it will only ever exist once for this class - thus all objects calling this static method will be getting the same one instance. Am I understanding this correctly? What is preventing other objects from importing this class and creating a new instance of it?
Singleton singleClass = new Singleton();
You would want to force other classes to use the getInstance() method wouldn't you?

Thanks for your help in understanding this.
- - John
 
John Fairbairn
Ranch Hand
Posts: 55
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK... figured out answer to one of my questions of why you can't do Singleton single = new Singleton()..
Noticed the private constructor:

Please let me know how you understand the singleton works.
 
Dirk Schreckmann
Sheriff
Posts: 7023
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You may want to take a look at the JavaWorld article "When is a singleton not a singleton?".
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic