一、public private protected default
下表为Java访问控制符的含义和使用情况
类内部 | 本包 | 子类 | 外部包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
区别:
(1)public:可以被所有其他类所访问。
(2)private:只能被自己访问和修改。
(3)protected:自身,子类及同一个包中类可以访问。
(4)default(默认):同一包中的类可以访问,声明时没有加修饰符,认为是friendly。
二、不能继承一个构造方法为私有的类
子类继承父类,当要去生成子类对象时都要先调用父类的构造方法,先生成父类对象才能生成子类对象(先有父亲后有孩子),父类构造方法设为私有外界就没法访问了就生成不了子类对象了(没有父亲就不会有孩子)
参考:http://www.iteye.com/topic/60179
http://cantellow.iteye.com/blog/838473
https://en.wikipedia.org/wiki/Singleton_pattern