3 回答

TA貢獻1839條經驗 獲得超15個贊
再能隨便寫呢,super很簡單,就是代表父類的意思,只有父類中有的,你才能用super,沒有的你自然不能用。
而在這個程序中,你在子類的構造其中用super,那么,肯定是要繼承父類的構造器public A(String name)
{
N = new String(name);
}
,也就是,你必須得給這個super()方法傳入和父類構造方法一樣的參數(name),所謂的一樣,就是類型一樣,而非名字一樣。
最后要說明的是,你的程序漏洞百出,N是什么東西??type又是什么類型??哪來的type??super(?)后的分號呢?

TA貢獻1966條經驗 獲得超4個贊
不是走形式的。
你父類里面如果有了顯示的帶參數的構造函數。。那么子類默認情況調用父類的構造函數就不能使用了。這個時候就必須顯示的調用父類的帶參數的構造函數。
super()的參數得看你父類的構造函數。。
如果沒有顯示的寫帶參數的構造函數。。 那么你子類可以直接不用寫。。jvm會在子類的構造函數第一行加一個隱式的super()
如果你父類沒有不帶參的構造函數。。那么你子類就必須在構造函數的第一行加入一個super(xxx,xxx,xxx,.....)

TA貢獻1111條經驗 獲得超0個贊
如果子類調用父類的構造函數有參數如果(int a,int b)那子類調用是就super(x,y)如此類推,調用的是沒參數的那就直接用super() ,還有默認的調用是super()
添加回答
舉報