java构造函数之private,protected

通常构造函数是public的, 今天无意间写了一个default的构造函数, 在另外一个包里面使用的时候居然发现The constructor is not visible,于是有了兴趣, 试验发现private, protected都是not visible.回去翻书《Thinking in java》关于构造函数那一节也没有讲。

写了几个例子,发现构造函数也遵循普通函数的访问机制, 即:

public:所有的类都可以使用;

protected: 本包以及子类可以使用;

default:本包可以使用;

private:仅本类可以使用。

 所以:

如果构造函数是private的,则不可被继承;也阻止了本类被继承(如果只有这一个构造函数的话).

 

转载请注明来自:http://blog.csdn.net/sunxing007

你可能感兴趣的:(java)