我 想知道java中重寫的具體方法
4 回答

洋妞honey
TA貢獻1條經驗 獲得超0個贊
將下列哪個代碼放入程序中標注的【代碼】處將導致編譯錯誤。答案是B(PS:誰能告訴我這是怎么回事)
A.public float getNum(){return 4.0f;}
B.public void getNum(){}
C.public void getNum(double d){}
D.public?float getNum(float d){return 4.0d;}
class?A{ public?float?getNum(){ return?3.0f;}} public?class?B?extends?A{ ????????【代碼】}

Leiky灬
TA貢獻10條經驗 獲得超0個贊
是重載,一個類中不可以有兩個方法簽名完全相同的方法,即:一個類中不可以有兩個方法的方法名和參數列表都完全相同,但是,如果一個類的兩個方法只是方法名相同而參數列表不同,是可以的。
public?class?Cashier?{ public?boolean?pay(double?money)?{?…?} public?boolean?pay(double?money)?{?…} }//這樣就會報錯
public?class?Cashier?{ public?boolean?pay(double?money)?{?…?} public?boolean?pay(String?cardId, String?cardPwd)?{?…?} }
重載和重寫的區別:
重載: 是指在一個類中定義多個方法名相同但參數列表不同的方法,在編譯時,根據參數的個數和類型來決定綁定哪個方法。
重寫: 是指在子類中定義和父類完全相同的方法,在程序運行時,根據對象的類型(而不是引用類型)而調用不同的方法。

Leiky灬
TA貢獻10條經驗 獲得超0個贊
另外新建一個類
如果你父類是
public?class?Scores?{ public?String?number1="070611"; public??String??number2="070612"; public?void?examGrade()?{ ?System.out.println(number1); } }
子類是:
public?class?Myscores?extends?Scores?{ public?String?number3="070613"; //重寫方法?方法名?返回值類型都要和父類一樣,子類可以用父類的屬性 public?void?examGrade()?{ ?System.out.println(number2); ?System.out.println(number3); ?} }
添加回答
舉報
0/150
提交
取消