如题
比如Calendar对象 ,只能采用Calendar.getInstance();来创建对象
而不能采用new Calendar();
这样做的意义是什么?
谢谢!
如题
比如Calendar对象 ,只能采用Calendar.getInstance();来创建对象
而不能采用new Calendar();
这样做的意义是什么?
谢谢!
有这么几个动机
(1)程序中某个对象只允许创建一个,或者只需要创建一个。比如说用户权限、工具类等。(单例模式)
(2)创建对象的过程非常复杂,或者创建的过程/参数有严格的限制,所以不宜调用者自己去创建。(工厂模式,生成器模式)
(3)对象的创建依赖外部的代码,比如说操作系统调用,或者web服务。
(4)限制和控制并发,避免在多线程时同步出现问题。
你这里属于第一个情况