Java: getInstance vs Static

后端 未结 6 887
清歌不尽
清歌不尽 2021-01-30 11:17

What is the purpose of getInstance() in Java?

During my research I keep reading that getInstance() helps achieve a Singleton design pattern (w

6条回答
  •  误落风尘
    2021-01-30 11:32

    Instead of checking for null, I like this a little better.

    public class SingleObject {
    
        //create an object of SingleObject
        private static SingleObject instance = new SingleObject();
    
        //make the constructor private so that this class cannot be
        //instantiated
        private SingleObject(){}
    
        //Get the only object available
        public static SingleObject getInstance(){
            return instance;
        }
    }
    

    Called with...

    public class SingletonPatternDemo {
       public static void main(String[] args) {
    
          //illegal construct
          //Compile Time Error: The constructor SingleObject() is not visible
          //SingleObject object = new SingleObject();
    
          //Get the only object available
          SingleObject object = SingleObject.getInstance();
       }
    }
    

    Full code from: http://www.tutorialspoint.com/design_pattern/singleton_pattern.htm

提交回复
热议问题