日期:2014-05-20  浏览次数:20680 次

单态设计模式问题,请教了
单态设计模式返回一个静态私有对象,说是这样节省资源,那静态成员不是比非静态成员占资源吗,有点迷糊,请教各位大侠了!!到底哪个省资源啊

------解决方案--------------------
单例模式中由于使用了静态成员,只能实例化一次,因此所以对这个类对象的引用都同指向一个同对象.而不用单例模式,每次new 时都会产生一个新对象.因此前者节省内存
------解决方案--------------------
静态成员.
他在类被声明时就产生了,也就是在程序编译阶段产生的,它只有一个所有该类实例共享的原本,任何该类实例更改静态变量的值后,其它该类实例再去访问该静态变量,其值已经变成更改后的值,因为其在内存,就存一个原本。
非静态成员是在类实例化时产生的,你new一个该类实例,系统就会为该类实例的所有非静态成员新开辟一个空间,每个实例都只能自己的非静态成员。(有多少个类的实例,就要开辟多少个非静态成员的空间)你说谁占资源

------解决方案--------------------
静态的不用new就能调用啊。而不是动态的就是要new出来自己才能调用。
所以在特定的情况下呢。静态的比较好
------解决方案--------------------
如果用得少的话,常驻内存的对象也许划不来;但是如果需要大量创建实例,而且该类是线程安全的话,使用单实例能够大幅减少构造函数的开销。
------解决方案--------------------
更重要的是单例类全局只有一个实例,你可以把它看成全局对象。