static作用在单例模式下

package com.ht.staticKeyword;


/**
 * @author wht
 *单例模式:
 *通过把构造方法私有化,这样类外面不能new对象。因为对象只能在类里面创建
 *所以单例模式就是把类里面创建好一个静态实例对象,和一个获取对象的方法。
 *外部通过调用静态获取对象的方法来引用类里面的单例对象,从而达到单例。
 *注意:是类外面不能new,类里面可以new的(static修饰的方法也可以来new,只要在类里面就行)
 *以前自己出现误会,把static修饰的方法当成类外面的,以为类里面static修饰的方法不能new
 */
public class PreateConstruTest{
	
   
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//这样写编译会报错,因为构造函数被私有化;
         // PreateConstru a=new PreateConstru("cccc");
          //PreateConstru b=new PreateConstru("dddd");
          PreateConstru a=PreateConstru.getobject();
          System.out.println(a.a);
          
        
	}

}
 class PreateConstru {
	//调用私有的构造方法赋值给newPreateConstu
    String a="单例模式";
	private  static PreateConstru newPreateConstu=new PreateConstru("初始化单例");
    private PreateConstru(String b){
    	a=b;
    }
    
    //外面的类可以通过调用这个方法来得到这个实例化对象,但无论外部
    //类中有多少个调用这个getobject来获取对象,本质还是一个对象
    public  static PreateConstru getobject() {
    	return newPreateConstu;
    }
	

}


上一篇:二分题单


下一篇:学习随笔-20220202