首页 > 代码库 > java单例模式
java单例模式
单例设计模式:解决一个类在内存中只存在一个对象
多用于环境变量设置等
单例模式的要求:1.只能有一个对象,禁止其他程序建立该类对象
2.要提供外界对对象的访问方式
解决办法:1.将构造方法私有化,可以禁止其他程序建立该类对象
2.在本类中自定义一个私有对象。注:因为访问方式是静态的,所以对象也要是静态的
3.提供一个public static 的访问方式,以为要通过类名来访问,而不是通过对象来访问
提示:这里的单利模式是很简单的一个举例,需要其他的功能可以添加,例如在student类中,加入这三步,也是一样的。只不过student类只有一个对象了,和平时的应用不太符合。
1 public class singleModel1 { 2 //定义私有构造方法 3 private singleModel1(){} 4 //定义私有对象 5 private static singleModel1 s=new singleModel1(); 6 //定义对象获取方法 7 public static singleModel1 getInstance(){ 8 return s; 9 }10 }11 /*12 * 还有一种单例模式如下,但是不建议大家用下面的方法,因为涉及到了线程安全问题。在这里只是给大家提一下13 * */14 class singleModel2 {15 //定义私有构造方法16 private singleModel2(){}17 //定义私有对象变量,但是并不赋值18 private static singleModel2 s=null;19 //定义对象获取方法并赋值20 public static singleModel2 getInstance(){21 if(s==null){22 s=new singleModel2();23 }24 return s;25 }26 }
其实单例模式本质上还是public,private,static关键字的使用。
通过private关键字,禁止了其他类对该类的对象创建,只能通过自己内部进行创建对象
通过static关键字,可以实现了对象在该类在家在过程中就已经实例化。
并且,通过static,可以实现不创建对象,就能调用其中的方法。
java单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。