A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱上这格调 中级黑马   /  2013-12-5 12:50  /  1299 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为啥有的类不提供构造函数  而只能通过一个静态方法返回该类一个对象

3 个回复

倒序浏览
那不是单例设计模式么,不提供构造给外面,就是说不能new这个类了,无论怎么访问都是类里面已经定义好的那个对象。
需要注意的是:
每次对象请求引用时都要检查是否存在类的实例,需要一些开销。可以通过使用静态初始化解决此问题。
回复 使用道具 举报
1.每个类都有自己的构造函数(若无人为编写,系统会默认添加一个无参构造函数),创建类的实例对象的过程,实际上是由系统调用与new操作符后内容相匹配的构造函数来实现的。
2.类不提供构造函数,即意味着将其所有构造函数私有,使得其他类没有访问该类构造函数的权限,从而无法创建该类的对象。
3.该类在自己内部创建一个本类对象并提供一个公共访问方法返回本类对象的引用,这个方法必须是静态的,这样其他类就可以通过类名调用的方法获取该类对象。
4.单例设计模式就是采用这种做法,目的是保证类在内存中只有一个对象。这种应用在生活中也很常见,例如资源管理器窗口,无论我们打开多少次都必须保证我们操作的是同一个对象,不然就乱套了。:)

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
工厂模式
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马