假設有一個類A.以下哪兩個訪問修飾符是構造函數的默認值?什麼是顯式構造函數訪問修飾符?
public A()
{
private A()
{
//some code....
}
protected A()
{
//some code....
}
}
假設有一個類A.以下哪兩個訪問修飾符是構造函數的默認值?什麼是顯式構造函數訪問修飾符?
public A()
{
private A()
{
//some code....
}
protected A()
{
//some code....
}
}
它意味着與函數和變量的修飾符完全相同,只是現在它指的是誰可以構造一個類的實例。
public
- 任何人都可以從代碼中的任何位置調用構造函數。
private
- 無法從類外部構造 - 通常用於控制誰可以使用靜態成員工廠方法實例化類。一個器件的應用的一個很好的例子發現here
protected
- 像private
但現在繼承參與 - 任何子類工廠方法可以使用,因爲現在他們可以調用此構造。
由於@dasblinkenlight提到,如果你不指定任何修改,那麼他們默認到被package-private,這意味着他們只對包內的類可見。
爲了完整起見,您可能想提及具有其默認訪問權限的'A(){}',以供同一包中的成員使用。 – dasblinkenlight
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html –
如果您瞭解訪問修飾符的含義,這裏沒有任何問題,如果您不需要查看它們在JLS中。不是一個真正的問題。 – EJP