黑马程序员技术交流社区

标题: 构造方法可以用private修饰吗 [打印本页]

作者: zhentianjue    时间: 2016-1-21 10:30
标题: 构造方法可以用private修饰吗
构造方法可以用private修饰吗?有什么意义?构造方法可以用那些修饰符修饰?如果说构造方法可以被private修饰,编译不会出现报错是正确的吗?

作者: chenhai    时间: 2016-1-21 10:30
抽象类的构造函数必须private,总之:不允许实例化的类,其构造函数一定是私有的....
作者: 小赵VS老付    时间: 2016-1-21 13:46
构造方法可以用private修饰,当然编译也不会报错。意义是不让其他类创建本类的对象。常用于类中所有方法都是静态的时候。加一个用private修饰的构造方法。
作者: 胖小子    时间: 2016-1-21 15:33
能  但是  没什么用   你写一个类  不用 写它干嘛
作者: zhentianjue    时间: 2016-1-21 19:19
胖小子 发表于 2016-1-21 15:33
能  但是  没什么用   你写一个类  不用 写它干嘛

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

好  谢啦
作者: 梁志朋    时间: 2016-1-21 22:57
可以,但是没什么意义,private修饰的构造方法,外部没法new这个类的实例。
作者: 谁的苍茫    时间: 2016-1-21 23:20
当构造方法被修饰后,就没有办法初始化,即这个类无法被创建,一般用于单利设计模式,就是当你不想让人家创建对象的时候可以使用,构造方法所有的修饰符都可以使用,一般是使用public。
作者: zhentianjue    时间: 2016-1-22 21:05
可以修饰的  老师今天讲了
作者: 秦爽爽    时间: 2016-1-22 23:42
可以,当成员方法都是静态时,我们用private修饰构造方法防止创建对象访问
作者: liuxiaoye    时间: 2016-1-23 20:58
可以,但是 私有后就不能创建对象了  常用于单例设计模式
作者: hard    时间: 2016-1-24 08:59
可以被private修饰,但是私有化了之后就不能直接使用或者访问,如果需要使用可以使用暴力反射,设置访问为true,然后可以获取到方法,函数,字段等
作者: 、Neil    时间: 2016-1-25 21:16
可以的,但是这样意义不大呀,修饰后,由于权限问题,不能访问,有啥用?
作者: jiangshicun007    时间: 2016-1-25 22:19
构造方法可以被private修饰,被private修饰后别的类不能访问构造器,于是就不能创建本类的对象,不过本类可以访问构造器,像单列设计模式,这种只允许别的类使用本类一个对象或者像枚举这种只许别的类使用有限个数的对象时就必须把本类的构造器私有化,然后在本类中创建本类对象作为成员属性,然后对外提供公共的访问方式!
作者: 刺客015    时间: 2016-1-26 19:36

构造方法可以用private修饰,意义是不让其他类创建本类的对象,私有的。不会出现报错的问题    是正确的
作者: Altan_Roger    时间: 2016-1-30 14:30
不是一般都是public的么
作者: tujiu888    时间: 2016-2-2 23:24
当该类中所有的成员方法都是静态的时候,必须多做一步,就是将本类的构造方法进行私有化,防止其他类创建本类的子类对象.可以直接调用本类中的方法
作者: boboyuwu    时间: 2016-2-11 17:47
可以的,用private修饰的构造方法不允许被new 了因为编译会出现访问private私有的成员,当你不想让别人创建你类对象你只想让他用你创建的对象时就可以private修饰,构造方法可以用public 以及默认的, private修饰
作者: dulun59    时间: 2016-3-4 19:32
一般这么写的是单例吧
不轻易让new对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2