深入一点讲,其是就是单例模式了
- class Singleton{
- //在本类内部,产生的实例化对象,并封装属性Singelton(单例,来自谷歌翻译)
- private static Singleton instance = new Singleton();
- private Singleton(){//私有化构造方法,进行封装
- }
- public static Singleton getInstance(){//通过类方法,直接取得Singleton实例
- return instance;
- }
- public void say(){//打印信息
- System.out.println("hello centian2005");
- }
- }
- public class SingletonDemo {
- public static void main(String[] args) {
- Singleton s1 = Singleton.getInstance();
- Singleton s2 = Singleton.getInstance();
- Singleton s3 = Singleton.getInstance();
- //三个输出的信息,都是hello centian2005
- s1.say();
- s2.say();
- s3.say();
- }
- }
复制代码
虽然声明了3个对象,但是实际上所有的对象都只使用instance引用,不管外面如何使用,最终结果也只有一个实例化对象。(其实就是单例设计模式)
使用Singleton(单例设计模式)的好处
1、控制资源的使用,通过线程同步来控制资源的并发访问;
2、控制实例产生的数量,达到节约资源的目的。
3、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。(这个不是很懂-0-)
:victory:楼主请笑纳
|