簡體   English   中英

當類被聲明為包私有時,我們應該聲明一個公共構造函數嗎?

[英]Should we declare a public constructor when the class is declared as package private?

我認為在這種情況下,不需要聲明公共構造函數,因為無論如何都無法在包外部訪問類。 但是當類只有包私有構造函數時,是否存在一些隱藏的影響?

不,您不必聲明公共構造函數; 包私有構造函數也同樣可用。 包之外的類無論如何都無法使用構造函數,因為它們無法看到類。

如果您的類是包私有,則修飾符關鍵字public指示的訪問級別與構造函數的默認包私有訪問級別是等效的。

但是,如果在開發期間更改了類可見性,則可以指示您希望方法具有的行為。 當您打開以前內部的一些API時,可能會發生這種情況。 在這種情況下,將構造函數聲明為包私有看起來更為保守,因為您不會同時打開所有門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM