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

单例模式和静态方法
我觉得两个的意思都差不多啊,都可以当成是工具类嘛,那啥子时候有区别喃
------解决方案--------------------
单例模式 怎么就和 静态方法差不多了呢?他们有多少联系的...你百度下什么是单例模式 再百度下静态方法
------解决方案--------------------
单例模式--好歹有一个实例
静态方法--一个实例也没有
------解决方案--------------------
单例:需要用的时候会检查有没有该类实例,有的话就使用已经创建的实例,没有的话旧将给类实例化。
静态方法:java虚拟机在编译的时候会首先加载static部分,使用的时候直接 类名.静态方法(..)调用。静态方法不依赖于其所在方法的实例,也就是说静态方法不需要将其所在的类实例化。

------解决方案--------------------
静态方法、静态变量和静态类都是Java的语法,而单例模式是一种设计模式,它是建立在语法之上的,设计模式可以在不同的开发语言中使用,是一种思想,这两个不属于同一概念.但像你说的这两种方法都可以实现工具类的效果,但还不只是这些.

下面这个是之前的一个帖子,你可以参考一下.
http://bbs.csdn.net/topics/330190035


------解决方案--------------------
单例模式一般通过静态工厂函数来返回类的实例。

静态工厂函数 就是静态方法的一种,它用于创建对象。

静态方法的范围就广了,它可以做任何你想要做的事情。
------解决方案--------------------
不一样的,就算是工具也是不一样的。

在很多情况下都会有可见性和逻辑上的区别。
------解决方案--------------------
实际使用起来似乎没有体验到区别