回覆列表
  • 1 # 孤天一鶴

    類中若無顯示定義有參構造方法,jvm會預設提供一個無參的構造方法。若已經顯示提供了有參構造方法,無參的構造方法就沒有了。

    無參構造方法作用(不限於):

    1.方便例項化物件

    2.序列化和反序列化

    3.反射獲取例項物件

  • 2 # 布丁NET

    “一定”未免太絕對,面向物件的三大特性之一就是封裝,構造方法引數的作用之一就是保證封裝的完整與正確。比如“方形”類,構造方法傳入長、寬,如果存在無參構造,後續使用物件時就需要考慮非正常情況的處理,增加了複雜性。所以,類設計構造方法按需就好,甚至更建議多考慮有參構造(如spring的autowire建議構造注入,而不是屬性注入)

  • 3 # 專罵囼獨

    一個A類如果顯式的提供了一個有參構造方法,那麼虛擬機器將不在隱式的提供無參構造方法。此時,如果一個類B繼承A,在B類的構造方法中沒有顯式的使用super(引數列表)呼叫父類的有參構造方法,虛擬機器將在類B的構造方法第一行隱式呼叫super()無參構造方法,此時將報錯。

  • 4 # 樂百川

    Java程式語言為大家所廣泛使用,其中一個重要原因就是Java有著眾多方便好用的類庫和框架,使用這些框架可以大大提高我們的程式設計效率。不過很多框架在使用的時候都有一個約定俗成的規定,就是使用物件的時候要有一個無參構造方法,這樣可以讓類庫比較方便的使用我們的類。

    當然這指的是一般情況下,一些需要我們或者框架去初始化的類才要這麼做。如果一些類作為工具類,不需要初始化為物件,那麼就完全不必要設計無參構造方法,甚至有時候要故意將構造方法設定為私有,防止呼叫者去初始化它,不過這就是另外一回事了。

  • 5 # 二次元程式猿

    若沒有自定義其他構造方法時,編譯後會自動建立一個無參構造方法,而構造方法是為了jvm初始化物件。沒有構造方法就相當於此類是不能透過new關鍵字初始化的,如一些需要受到保護的類就會提供一個私有構造方法,禁止外部類new,然後提供一些單例模式的懶漢、餓漢方法來獲取此類的物件。

  • 中秋節和大豐收的關聯?
  • 自己寫的關於大自然的詩?