单例模式 种静态方法有点搞不懂 求帮助

问题描述

publicstaticreadonlyStatic_SingletoninstancestaticStatic_Singleton(){instance=newStatic_Singleton();}其中的staticStatic_Singleton()是构造函数吗?下边privateStatic_Singleton(){}也是构造函数,都有什么作用???classStatic_Singleton{///<summary>///变量标记为readonly,这意味着只能在静态初始化期间(此处显示的示例)或在类构造函数中分配变量。//////</summary>publicstaticreadonlyStatic_Singletoninstance=newStatic_Singleton();privateStatic_Singleton(){}//等同于publicstaticreadonlyStatic_SingletoninstancestaticStatic_Singleton(){instance=newStatic_Singleton();}privateStatic_Singleton(){}

解决方案

解决方案二:
privateStatic_Singleton(){}是构造函数,设置为私有就不能直接实例化一般再设置一个共有的CreateInstance()方法,在这个方法里进行实例化publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){}publicstaticSingletonGetInstance(){if(instance==null){instance=newSingleton();}returninstance;}}

解决方案三:
关于静态构造函数,看看这篇http://www.cnblogs.com/eagle1986/archive/2011/11/27/2264931.html
解决方案四:
staticStatic_Singleton()//这个是静态构造函数,在你首次使用Static_Singleton时调用{instance=newStatic_Singleton();}privateStatic_Singleton(){}//这个是构造函数,需要你手动实例化Static_Singleton时调用,就是上面的newStatic_Singleton();

解决方案五:
你这样写应该是懒汉模式,不能解决多线程的问题吧?
解决方案六:
明白了,http://www.cnblogs.com/eagle1986/archive/2011/11/27/2264931.html讲的挺详细,谢了
解决方案七:
在使用静态构造函数的时候应该注意几点:  1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。    2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。  3、一个类只能有一个静态构造函数。  4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。  5、最多只运行一次。  6、静态构造函数不可以被继承。  7、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。

时间: 2024-11-05 20:49:07

单例模式 种静态方法有点搞不懂 求帮助的相关文章

孙鑫-Visual C++的一段代码搞不懂求解释

问题描述 Visual C++的一段代码搞不懂求解释 说一下自己的理解.题目是孙鑫老是的文本输出的例子. 1:GetBkColor得到背景白色,然后SetTextColor(白色)把背景白色设置为文字颜色.跟着clr应该是赋值得到白色了吧,但是F5看的时候是黑色,就要原文字颜色.我这么理解应该错了 1 COLORREF clr=dc.SetTextColor(dc.GetBkColor()); //GetBkColor属于dc对象,改变dc中的背景值(白色).然后SetTextColor用白色值

c语言-求帮助写一个代码 刚学习数据结构 实在是搞不懂 求大神帮忙谢谢

问题描述 求帮助写一个代码 刚学习数据结构 实在是搞不懂 求大神帮忙谢谢 好心人帮忙翻译好了 求大神帮忙写一下代码 谢谢大家了 解决方案 你的需求,要至少4000C币,你给的100太少了 解决方案二: http://blog.csdn.net/qq_31766907/article/details/50331951这个链接,你看看,或许能帮到你.

图片-大量悬赏 数据结构的问题 自己是新手 实在搞不懂 求大神帮忙

问题描述 大量悬赏 数据结构的问题 自己是新手 实在搞不懂 求大神帮忙 解决方案 是要题目的翻译么? 实现一个链表及以下操作 插入,给定Key值,找到拥有该Key值的节点,并把新节点插入此节点后.若没有在链表中找到该Key值,打印出错误信息. 删除,给定Key值,找到拥有该Key值的节点并删除.若没有在链表中找到该Key值,打印出错误信息. 查询前序节点,给定Key值,找到拥有该Key值的节点的前序节点.若没有在链表中找到该Key值,打印错误信息. 显式整个链表,若链表为空,则显示链表为空. 从

搞不懂-求解释啊~~~ 又不明白了。。

问题描述 求解释啊~~~ 又不明白了.. #include #include main() { int abc; c=0; for(a=100;a<=200;a++) { for(b=2;b<=a-1;b++) if(a%b==0) break; if(a==b) printf(""素数为:%dn""a); c++; } system(""pause""); } break的意思不是跳出循环进行下一步吗? 这样的话

js-javascript一个让人搞不懂的计算问题 求大婶指点

问题描述 javascript一个让人搞不懂的计算问题 求大婶指点 alert(200.5*3);===>弹出:601.5//没问题 alert(200.56*3);===> 弹出这个货色出来: 求指点怎么算出来的呢?http://xiangxitujiazumiaozuzizhizhou.foxdb.cc/sitemap.html 解决方案 这是js浮点运算的一个bug,我找了下你可以看下这篇blog,里面讲的还详细了.http://blog.csdn.net/cdsnaspnet/arti

java javase socket-最近学java,在socket 程序的测试时搞不懂,求指点

问题描述 最近学java,在socket 程序的测试时搞不懂,求指点 我最近在学java,刚好学到了socke程序,我按照教程上写了服务端和客户端的程序,但是在进行联合俩个程序进行通信的时候却测试不了了. 服务端代码: package severDemo; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public cla

继承-这个一直搞不懂,求大神帮我解惑,万分感谢

问题描述 这个一直搞不懂,求大神帮我解惑,万分感谢 Anonymous Inner Class(匿名内部类)是否可以extends(继承)其他类,是否可以implements(实现)interface(接口)? 解决方案 匿名类就是为了实现接口,这是它最典型的应用场景. java相比较C++.C#.js等,最大的缺憾就是没有任何类型可以表示函数,所以为了传递函数,必须定义一个接口,并且用要传递的函数去实现接口,再传这个类的实例. 因为这种写法是如此麻烦和绕圈子,所以java才有了匿名类,匿名类为

arraylist-数组越界的问题.求解决,下面会贴上原代码。 size部分搞不懂

问题描述 数组越界的问题.求解决,下面会贴上原代码. size部分搞不懂 04-03 11:28:21.283: E/AndroidRuntime(8495): FATAL EXCEPTION: main 04-03 11:28:21.283: E/AndroidRuntime(8495): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1 04-03 11:28:21.283: E/AndroidRuntime(84

mybatis-sqlmapconfig.xml读取异常什么的完全搞不懂,求指教

问题描述 sqlmapconfig.xml读取异常什么的完全搞不懂,求指教 严重: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [ApplicationContext.xml]: Invocation of