假设有一个类A.以下两个访问修饰符中哪一个是构造函数的默认修饰符?
public A()
{
private A()
{
//some code....
}
protected A()
{
//some code....
}
}
答案 0 :(得分:6)
它与函数和变量的修饰符完全相同,只是现在它指的是谁可以构造该类的实例。
public
- 任何人都可以从代码中的任何位置调用构造函数。
private
- 无法从类外部构造 - 通常用于通过使用静态成员工厂方法来控制谁使用instanciate类。找到here
protected
- 与private
类似,但现在涉及继承 - 可以使用任何子类工厂方法,因为现在它们可以调用此构造函数。
正如@dasblinkenlight所提到的那样,如果你没有指定任何修饰符,那么它们默认为package-private,这意味着它们只对其中的类可见封装