专修虚拟机 2016-01-06 09:35 采纳率: 0%
浏览 1747
已采纳

java的单例模式怎么理解?

我是这样认为的:因为类中的方法都是static方法!所以这个类不管怎么实例化 都只有唯一的static方法 实例存在
这样认为对吗?求教怎么理解?

  • 写回答

6条回答 默认 最新

  • snailplus 2016-01-06 15:03
    关注

    骚年,你的理解偏颇了。。。
    单例模式,顾名思义,就是在某个环境里,不管怎么实例化,只能产生唯一对象。

    static方法只是个特殊的动作(特殊在于它是类(不是对象的)的动作),这个动作可以被执行多次,
    并且没有限制里面处理内容,所以完全可以产生多个对象(你无法阻止),static方法跟产生几个对象没有直接关系。

    所以说,static方法或变量都只是一种手段,用这种手段的组合判断,就可以生成单例模式,
    也就是说static方法或变量或许是必要条件,但绝对不是充分条件。

    至于达到单例模式效果的方法,有很多。详细参照如下:
    http://www.runoob.com/design-pattern/singleton-pattern.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?