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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄林 中级黑马   /  2012-12-26 14:49  /  1440 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄林 于 2012-12-27 14:09 编辑

如果把构造函数设为私有的类怎么实例化,如果在一个方法里返回一个实例能够做到么??

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
当你new一个对象的时候,隐式的调用构造函数,当你将构造函数私有后,那么就不能用new操作符来创建对象了。这样你就得利用其他的创建方式来创建对象了。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
补充:当你将构造函数设置为私有后,当我们在程序中声明一个对象时,编译器会为我们来调用构造函数,通常这个调用时外部的,不是类对象本身的,所以对于类外部的话,不允许访问自己的私有成员,也就不能用构造函数。
如果你非要声明一个对象,你想啊,类外部的是不可以调用了,那么可以找一个公有的函数(你想啊,一个公有函数,没对象的话你同样不能调用,所以这时候想到的是static,它是独立于类存在的)这里可以设置一个公有的satic函数,在该函数里创建对象。返回对象的引用,就可以使用了。
回复 使用道具 举报
王靖雯 发表于 2012-12-26 16:26
补充:当你将构造函数设置为私有后,当我们在程序中声明一个对象时,编译器会为我们来调用构造函数,通常这 ...

受教,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马