我是新手,不懂什么叫单例模式.有一题,题目就是写一个单例模式.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/19 23:33:15
我是新手,不懂什么叫单例模式.有一题,题目就是写一个单例模式.
写完之后,稍微解释一下什么叫单例模式.
写完之后,稍微解释一下什么叫单例模式.
单例就是只有一个实例.
如果构造方法公开的话
Single instance = new Single();
这样,你得到一个实例
如果你再
instance = new Single();
这时instance 就是一个新的实例了.
而
Single s = Single.getInstance();
你在程序的生命周期内,什么时候调用,都是同一个实例,也就是说,他们的内存是一块.
再问: 额,明白点了。 Single s = Single.getInstance(); s.text(); 其实就和Single.getInstance().test(); 效果是一样的把。 Single.getInstance()就是一个Single对象。 也可以把它实例化,之后调用text()方法,是吧。
再答: 你的理解是对的. 如果TEST方法中是个变量的话,就理好理解了. 比如是 System.out.println(num++); num是个int型数. 这样你每执行一次Single.getInstance().test(); 数都会加一个. 如果是new Single().test(); 这样,每个地方都是num的初始值.
如果构造方法公开的话
Single instance = new Single();
这样,你得到一个实例
如果你再
instance = new Single();
这时instance 就是一个新的实例了.
而
Single s = Single.getInstance();
你在程序的生命周期内,什么时候调用,都是同一个实例,也就是说,他们的内存是一块.
再问: 额,明白点了。 Single s = Single.getInstance(); s.text(); 其实就和Single.getInstance().test(); 效果是一样的把。 Single.getInstance()就是一个Single对象。 也可以把它实例化,之后调用text()方法,是吧。
再答: 你的理解是对的. 如果TEST方法中是个变量的话,就理好理解了. 比如是 System.out.println(num++); num是个int型数. 这样你每执行一次Single.getInstance().test(); 数都会加一个. 如果是new Single().test(); 这样,每个地方都是num的初始值.