java 的构造函数修饰符public private protected
java中使用new關鍵字創建對象的時候,構造方法上的修飾符起什么作用?
1,限定可以創建對象的位置
使用public 修飾,new對象時,可以在任何包下的任何類中。
使用protected修飾,只能在當前類,或者同一包下創建對象。
使用private修飾,只能在當前類中創建對象。
2,使用不同修飾符修飾構造函數有啥作用?
public修飾,不限定對象啥時候在什么地方創建。
protected修飾,限制對象創建范圍到同一個包下,當需要外部去創建對象,但是又不想所有使用的地方都能創建。可以使用protected修飾構造方法
private修飾,只能本類創建對象,進一步縮小對象能創建的地方,如果外部需要使用類對象時,提供一個返回當前類對象的接口【必須是public,且 static 修飾】,設計模式之單例模式就是構造函數私有化。
對于類的設計者來說,如果想要類對象的創建由自己把控,可以使用private構造函數,或者 protected 構造函數。
No visible constructors in class
下面的錯誤是我構造一個工廠類時候報的錯誤,百度了一圈發現網上也有類似的錯誤都是構造工廠類時候報出,但是錯誤不相同,最后還是靜下心來看看報錯的錯誤,從上往下看,一不小心看到如下錯誤:
Caused by: java.lang.IllegalArgumentException: No visible constructors in classcom.liulangtao.frame.demo.config.elasticSearch.ElasticSesrchClientFactory
翻譯過來就是java.lang.IllegalArgumentException引起錯誤,沒有ElasticSesrchClientFactory的構造函數。這樣小編瞬間就理解了果斷將ElasticSesrchClientFactory的構造函數的private修改為public ,重啟服務瞬間好了。
總結
以上是生活随笔為你收集整理的java 的构造函数修饰符public private protected的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pypthon3精要(15)-zip
- 下一篇: pypthon3精要(16)-enume