问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单例模式唯一实例为什么必须为静态

发布网友 发布时间:2022-04-23 04:11

我来回答

1个回答

热心网友 时间:2022-04-23 05:40

你只要弄明白单例模式是如何实现的,就能从本质上理解这个问题;
单例模式实现过程如下:
首先,将该类的构造函数私有化(目的是禁止其他程序创建该类的对象);
其次,在本类中自定义一个对象(既然禁止其他程序创建该类的对象,就要自己创建一个供程序使用,否则类就没法用,更不是单例);
最后,提供一个可访问类自定义对象的类成员方法(对外提供该对象的访问方式)。

直白的讲就是,你不能用该类在其他地方创建对象,而是通过该类自身提供的方法访问类中的那个自定义对象。

那么问题的关键来了,程序调用类中方法只有两种方式,①创建类的一个对象,用该对象去调用类中方法;②使用类名直接调用类中方法,格式“类名.方法名()”;
上面说了,构造函数私有化后第一种情况就不能用,只能使用第二种方法。
而使用类名直接调用类中方法,类中方法必须是静态的,而静态方法不能访问非静态成员变量,因此类自定义的实例变量也必须是静态的。
这就是单例模式唯一实例必须设置为静态的原因。追问原来是这样,一下子懂了,比书上说的明白多了,感谢!!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 请问北京治疗手足口病的医院,哪家比较好一点。谢谢 龙虾的价格? 澳洲龙虾价格今天市场价 龙虾价格 湖北小龙虾最低每斤不到10元,今年的小龙虾为何如此便宜? 手机在电视上玩云顶之弈,怎么写不好名字 第十代思域市区油耗百公里几个油 十代思域油耗多少钱1公里 本田思域新车自动挡油耗多少 现在酿葡萄酒温度不够怎么办? 自酿葡萄酒度数太高怎么办 一吨葡萄原浆能做多少葡萄酒 白酒有80度的么 超市里面80左右的红酒会醉人吗?可以兑白酒进去吗?我买红酒,会送开瓶器吗?(不是开啤酒的) 如何腌腊肉好吃,腌腊肉的3种做法 如何利用ps调整图层及图层蒙版对照片进行美化 PS教学:摄影师详细讲解图层蒙版使用方法,抠图调色不是事! 环球时报的新闻为什么网友要喷 环球时报的争议事件 时报是什么样的报纸,和日报晚报有什么不同,像纽约时报等 手足口病北京哪里治最好 手足口病哪个医院的治疗最好 手足口病到哪家医院治疗比较好 哪个医院治手足口病 手足口病哪家医院治疗效果最好 手足口病哪里治疗最好 手足口病是不是免费治疗啊、那家医院最好 郑州到濮阳高速公路路况 孩子得了手足口病 问一下 到北京儿童医院需要花费多少费用啊 郑州到濮阳多长时间,郑州到濮阳有多远,多少公里数 小孩手足口病应该挂北京儿童医院什么科? 郑州开车到濮阳要多少公里,时间,过路费,油钱 开车从郑州到濮阳路线图 现在得了手足口病,为什么都去大医院?地方医院治不了吗? 2021年8月郑州回濮阳能不能下高速? 现在北京的手足口病毒 水培绿萝怎么扦插好看 从郑州到濮阳清丰走什么高速,京港澳和大广高速哪个好走,货车少点的,新手。 郑州往濮阳高速现在堵车吗? 郑州到濮阳市区自己开车怎么走 ?大概多少公里?走高速还是走下边?