欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > java >内容正文

java

笔记:java中的单例设计模式 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 java 19 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 笔记:java中的单例设计模式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

        之前接触过单例模式,当初不明白这样的设计用意,今天特地研究了下java中的单例设计模式的用处及用法。

        单例模式:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。一个类有且仅有一个实例,并且自行实例化向整个系统提供。

        单例模式的用处:一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或id(序号)生成器。如在windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用户带来误解,不知道哪一个才是真实的状态。因此有时确保系统中某个对象的唯一性即一个类只能有一个实例非常重要。http://baike.baidu.com/view/1859857.htm

    例子代码如下:

        

                public class testsinglemode {

                         public static void main(string[] args) {
  
                        singleton s1 = null ;//创建对象s1
                        singleton s2 = null ;//创建对象s2
                        s1 = singleton.getinstance() ;//把类中的实例化对象传递给s1
                        s1.print() ; //调用print方法打印输出
                        s2 = singleton.getinstance() ;//把类中的实例化对象传递给s2
                        s2.print() ; //调用print方法打印输出
   
                        s2.setname("jack");
                        s2.setage(2);
   
                        s1.print();
                         }
                }

                class singleton  {//定义singleton类

                 //在类的内部用静态实例化对象并私有化
                     private static singleton instance = new singleton() ;
                 //用静态方式定义getter方法取回instance对象
                     public static singleton getinstance(){
                          return instance ;
                     }
                     private string name ; //定义name属性
                     private int age ;  //定义age属性
                     private singleton(){} //无参构造 并私有化
                     public void setname(string name){ //setter方法
                          this.name = name ;
                     }    
                     public string getname(){ //getter方法
                          return this.name ;
                     }
                     public void setage(int age){//setter方法
                          this.age = age ;
                     }
                     public int getage(){ //getter方法
                          return this.age ;
                     }
                     public void print(){ //定义一个打印输出的方法
                          system.out.println("姓名:" getname() "年龄:" getage()) ;
                     }
                }

            运行结果:

                    姓名:null年龄:0
                    姓名:null年龄:0
                    姓名:jack年龄:2

            总结:s1 与 s2 指向同一对象,当修改s2的值时,s1的值也会改变。

 

转载于:https://blog.51cto.com/kingstar/1531703

总结

以上是尊龙游戏旗舰厅官网为你收集整理的笔记:java中的单例设计模式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图