2 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
每當(dāng)實(shí)例化子類對(duì)象時(shí),都會(huì)隱式調(diào)用父類默認(rèn)構(gòu)造函數(shù)。因此,當(dāng)您RubikRight通過調(diào)用它來實(shí)例化時(shí),會(huì)從 RubikRight 的構(gòu)造函數(shù)內(nèi)部new RubikRight(int[][][])隱式調(diào)用。super()因此出現(xiàn)錯(cuò)誤:
required: int[][][] // what you have in Rubik class, note that you don't have the default constructor
found: no arguments // super(/* no argument */) called implicitly
要消除錯(cuò)誤,您有兩種選擇:
要么super(grid)從RubikRight構(gòu)造函數(shù)顯式調(diào)用。
或者,在(基)類中實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)Rubik。

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
您沒有調(diào)用父類的構(gòu)造函數(shù)。
這里你可以做的是,重載父類中的構(gòu)造函數(shù)。創(chuàng)建默認(rèn)構(gòu)造函數(shù)(無參數(shù)構(gòu)造函數(shù))并使其受保護(hù)。
public class Rubik{
...
protected Rubik() {
}
}
這應(yīng)該可以解決你的問題。
添加回答
舉報(bào)