区别是:单例模式只能创建一个实例对象,也相应的只有一套实例化数据,在每次调用的时候只能对同一个实例对象进行修改和使用,往往用在处理或者数据流上有串行需求的情况。而非单例模式则不相同,在创建实例化对象时,每个对象分别有自己的一套实例化数据。
单例模式只能创建一个实例对象,也相应的只有一套实例化数据,在每次调用的时候只能对同一个实例对象进行修改和使用,往往用在处理或者数据流上有串行需求的情况。而非单例模式则不相同,在创建实例化对象时,每个对象分别有自己的一套实例化数据,并且每个对象往往仅能处理和操作自己的数据。
单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)
数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”。
单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”
单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的少数实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的少数实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个少数实例毫无意义。
延伸阅读:
什么是java集合类?
集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是可以往里面保存多个对象的类,存放的是对象,不同的集合类有不同的功能和特点,适合不同的场合,用以解决一些实际问题。
集合类是用来存放某类对象的。集合类有一个共同特点,就是它们只容纳对象(实际上是对象名,即指向地址的指针)。这一点和数组不同,数组可以容纳对象和简单数据。如果在集合类中既想使用简单数据类型,又想利用集合类的灵活性,就可以把简单数据类型数据变成该数据类型类的对象,然后放入集合中处理,但这样执行效率会降低。
文章标题:Java 类方法和单例模式使用上的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38079