[英]When should a constructor be declared public and when should it be package-private?
[英]Should we declare a public constructor when the class is declared as package private?
我認為在這種情況下,不需要聲明公共構造函數,因為無論如何都無法在包外部訪問類。 但是當類只有包私有構造函數時,是否存在一些隱藏的影響?
不,您不必聲明公共構造函數; 包私有構造函數也同樣可用。 包之外的類無論如何都無法使用構造函數,因為它們無法看到類。
如果您的類是包私有,則修飾符關鍵字public
指示的訪問級別與構造函數的默認包私有訪問級別是等效的。
但是,如果在開發期間更改了類可見性,則可以指示您希望方法具有的行為。 當您打開以前內部的一些API時,可能會發生這種情況。 在這種情況下,將構造函數聲明為包私有看起來更為保守,因為您不會同時打開所有門。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.