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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夕颜 中级黑马   /  2015-4-21 10:34  /  1112 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个类中,如果有私有属性,是不是就不能用构造函数对对象进行初始化

20 个回复

倒序浏览
是的,因为外部无法访问到私有的构造函数,也就无法创建对象
回复 使用道具 举报
曾宇 发表于 2015-4-21 10:56
是的,因为外部无法访问到私有的构造函数,也就无法创建对象

恩恩 谢谢解答
回复 使用道具 举报
楼主好像没有吧问题说清楚,是构造函数是私有的还就是封装的私有的成员。
回复 使用道具 举报
私有了,如果要用,就得在类中创建一个实例,对外提供公共的访问方法。单例模式。
回复 使用道具 举报
只要类不是抽象类,而且构造函数 没有私有化  仅仅是有别的私有对象的话  是可以创建这个类的对象啊
如果不想让外面的类创建这个类的对象 可以将这个类加上抽象修饰符或者将构造函数私有化
回复 使用道具 举报
夕颜 中级黑马 2015-4-21 11:44:52
7#
海带 发表于 2015-4-21 11:02
楼主好像没有吧问题说清楚,是构造函数是私有的还就是封装的私有的成员。 ...

属性私有,比如车的颜色私有,定义一个构造函数来初始化车 的颜色,后来发现就算属性私有,但是也可以用构造函数来初始化对象,此时构造函数跟setXX是一样的功能
回复 使用道具 举报
夕颜 中级黑马 2015-4-21 11:45:55
8#
弯曲/mg抛物☀ 发表于 2015-4-21 11:23
私有了,如果要用,就得在类中创建一个实例,对外提供公共的访问方法。单例模式。 ...

恩恩  是的  属性私有后,用构造函数初始化, 此时与用setXX一样的功能
回复 使用道具 举报
夕颜 中级黑马 2015-4-21 11:46:56
9#
只吃饭不洗碗 发表于 2015-4-21 11:35
只要类不是抽象类,而且构造函数 没有私有化  仅仅是有别的私有对象的话  是可以创建这个类的对象啊
如果不 ...

嗯嗯  是的
回复 使用道具 举报
受教了,刚才试了,的确可以初始化,但是无法使用。{:3_57:}
回复 使用道具 举报
留个脚印```````
回复 使用道具 举报
我顶啊。接着顶
回复 使用道具 举报
看了解答才知道我之前理解的是错的,汗!
回复 使用道具 举报
怎么不可以呢,私有属性本类是可以访问的,你说的是构造函数是私有还是,你可以通过本类中new出对象,这样就是传说中的单例设计拉
回复 使用道具 举报
没错大兄弟
回复 使用道具 举报
对象私有的属性设置setter和getter方法,然后可以通过构有参数的造函数初始化的,并且通过getter方法也可以获得该属性值的
回复 使用道具 举报
yapo 中级黑马 2015-4-22 22:03:54
17#
是私有属性(变量),又不是将构造函数(方法)私有化,这样也不可以将对象初始化
回复 使用道具 举报
怎么可能呢!对对象初始化,就是通过调用构造函数的,能属性没有半毛钱关系!
回复 使用道具 举报
一般都属于属性私有,用构造函数初始化比较正常,不过我是新手理解的不是很到位
回复 使用道具 举报
加油 !!!!订一个!!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马