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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhentianjue 中级黑马   /  2016-1-21 10:30  /  17294 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
构造方法可以用private修饰吗?有什么意义?构造方法可以用那些修饰符修饰?如果说构造方法可以被private修饰,编译不会出现报错是正确的吗?

最佳答案

查看完整内容

抽象类的构造函数必须private,总之:不允许实例化的类,其构造函数一定是私有的....

19 个回复

倒序浏览
抽象类的构造函数必须private,总之:不允许实例化的类,其构造函数一定是私有的....
回复 使用道具 举报
构造方法可以用private修饰,当然编译也不会报错。意义是不让其他类创建本类的对象。常用于类中所有方法都是静态的时候。加一个用private修饰的构造方法。
回复 使用道具 举报
能  但是  没什么用   你写一个类  不用 写它干嘛
回复 使用道具 举报
胖小子 发表于 2016-1-21 15:33
能  但是  没什么用   你写一个类  不用 写它干嘛

意思修饰了  就不能创建对象了  是没有意义的
回复 使用道具 举报
构造方法可以被private修饰,当被private修饰时,不可以创建该类的对象,一般这种用法常见于单例设计;一般权限修饰符都可以修饰构造函数,其他修饰符好像都不行(个人愚见,等大神指导);
回复 使用道具 举报
13277988289 发表于 2016-1-21 20:57
构造方法可以被private修饰,当被private修饰时,不可以创建该类的对象,一般这种用法常见于单例设计;一般 ...

好  谢啦
回复 使用道具 举报
可以,但是没什么意义,private修饰的构造方法,外部没法new这个类的实例。
回复 使用道具 举报
当构造方法被修饰后,就没有办法初始化,即这个类无法被创建,一般用于单利设计模式,就是当你不想让人家创建对象的时候可以使用,构造方法所有的修饰符都可以使用,一般是使用public。
回复 使用道具 举报
可以修饰的  老师今天讲了
回复 使用道具 举报
可以,当成员方法都是静态时,我们用private修饰构造方法防止创建对象访问
回复 使用道具 举报
可以,但是 私有后就不能创建对象了  常用于单例设计模式
回复 使用道具 举报
hard 中级黑马 2016-1-24 08:59:32
13#
可以被private修饰,但是私有化了之后就不能直接使用或者访问,如果需要使用可以使用暴力反射,设置访问为true,然后可以获取到方法,函数,字段等
回复 使用道具 举报
可以的,但是这样意义不大呀,修饰后,由于权限问题,不能访问,有啥用?
回复 使用道具 举报
构造方法可以被private修饰,被private修饰后别的类不能访问构造器,于是就不能创建本类的对象,不过本类可以访问构造器,像单列设计模式,这种只允许别的类使用本类一个对象或者像枚举这种只许别的类使用有限个数的对象时就必须把本类的构造器私有化,然后在本类中创建本类对象作为成员属性,然后对外提供公共的访问方式!
回复 使用道具 举报

构造方法可以用private修饰,意义是不让其他类创建本类的对象,私有的。不会出现报错的问题    是正确的
回复 使用道具 举报
不是一般都是public的么
回复 使用道具 举报
当该类中所有的成员方法都是静态的时候,必须多做一步,就是将本类的构造方法进行私有化,防止其他类创建本类的子类对象.可以直接调用本类中的方法
回复 使用道具 举报
可以的,用private修饰的构造方法不允许被new 了因为编译会出现访问private私有的成员,当你不想让别人创建你类对象你只想让他用你创建的对象时就可以private修饰,构造方法可以用public 以及默认的, private修饰
回复 使用道具 举报
一般这么写的是单例吧
不轻易让new对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马