所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样子,我们就不能用new操作符在类的外部产生类的对象了,但在类的内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。 不存在线程不安全的问题 存在线程不安全的问题 如果面试要求写一个单例模式,最好写饿汉式,因为饿汉式不存在线程不安全的问题。
单例设计模式
饿汉式
class Singleton{ //私有化类的构造器,让外部无法调用 private Singleton(){ } //类的内部创建类的对象,并且此对象必须声明静态 private static Singleton instance= new Singleton(); //提供公共的静态的方法,返回类的对象 public static Singleton getInstance(){ return instance; } }
懒汉式
class Singleton{ //私有化类的构造器 private Singleton(){ } //声明当前类的对象,并且是static,但是没有赋值 private static Singleton instance = null; //声明为public、static的方法用来返回类的实例 //如果发现当且instance为null,给instance创建一个实例。 public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } }
结尾
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算