java中super關鍵字的作用 java中,帶參數(shù)的構造方法和不帶參數(shù)構造方法用法有什么不同???
java中,帶參數(shù)的構造方法和不帶參數(shù)構造方法用法有什么不同???讓我給你一個例子:有一個circle類如下:class circle{private double r=0;public circle(
java中,帶參數(shù)的構造方法和不帶參數(shù)構造方法用法有什么不同???
讓我給你一個例子:有一個circle類如下:class circle{private double r=0;public circle(){public circle(double x){r=x}public double setr(double x){r=x}然后使用class circle=new circle()圓.setR(5) 這兩句話相當于圓=新圓(5),參與構造和非參數(shù)構造的區(qū)別在于,參數(shù)構造可以在創(chuàng)建的對象為新對象時同時為其賦值
~]。問題是,當我們創(chuàng)建一個類時,如果我們不創(chuàng)建一個構造方法(即使它是非參數(shù)的)。JVM幫助我們創(chuàng)建一個默認構造函數(shù),也稱為無參數(shù)構造函數(shù)。但是,如果我們創(chuàng)建一個構造函數(shù),JVM將不再為我們生成默認的構造函數(shù)。有時需要寫出默認構造函數(shù),即無參數(shù)構造函數(shù)。因此,當類被繼承時,子類將在默認情況下調(diào)用無參數(shù)構造函數(shù)。如果要顯示調(diào)用父類的構造函數(shù),可以在子類的構造函數(shù)中使用super()的第一句話。(構造函數(shù)中只能調(diào)用一次構造函數(shù))。如果不在父類中編寫無參數(shù)構造函數(shù),則必須在子類構造函數(shù)中調(diào)用父類(在第一句中編寫)中的無參數(shù)構造函數(shù)。