谁能告诉我为什么单例模式的唯一实例为什么设置为静态的?
3个回答
北京磐安云创科技有限公司_
2023-02-01 广告
2023-02-01 广告
价格只是购买产品或服务过程中的一项指标,如果单纯只比较价格,其实考虑并不是那么周到。价格、质量、服务、口碑、是否合适自己的情况等都需要一起考虑。以上回答如果还觉得不够详细,可以来咨询下北京磐安公司。北京磐安公司是一家专业从事高新软件的技术公...
点击进入详情页
本回答由北京磐安云创科技有限公司_提供
展开全部
其实问题很简单,你首先要弄明白如何实现单例模式:
首先,将构造函数私有化(禁止其他程序创建类的对象)
其次,在本类中自定义一个对象(禁止其他程序创建类的对象就要自己创建一个,否则就不是单例了)
最后,提供一个可访问类自定义对象的类成员方法(对外提供该对象的访问方式)。
也就是说,你不能用该类在其他地方创建对象,而是通过类提供的方法访问类中的那个自定义对象。
那么关键来了,使用类中方法只有两种方式,①创建类的一个对象,用对象去调用方法;②使用类名直接调用类中方法。
显然第一种情况不能用,只能使用第二种方法。而想要使用类名直接调用类中方法,类中方法必须是静态的,而静态方法不能访问非晶态成员变量,因此类自定义的实例变量也必须是静态的。这就是为什么单例模式的唯一实例为什么设置为静态的。
首先,将构造函数私有化(禁止其他程序创建类的对象)
其次,在本类中自定义一个对象(禁止其他程序创建类的对象就要自己创建一个,否则就不是单例了)
最后,提供一个可访问类自定义对象的类成员方法(对外提供该对象的访问方式)。
也就是说,你不能用该类在其他地方创建对象,而是通过类提供的方法访问类中的那个自定义对象。
那么关键来了,使用类中方法只有两种方式,①创建类的一个对象,用对象去调用方法;②使用类名直接调用类中方法。
显然第一种情况不能用,只能使用第二种方法。而想要使用类名直接调用类中方法,类中方法必须是静态的,而静态方法不能访问非晶态成员变量,因此类自定义的实例变量也必须是静态的。这就是为什么单例模式的唯一实例为什么设置为静态的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意楼上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询