Re: [問題] 請問建構子

看板java作者 (啊哈)時間18年前 (2007/04/11 18:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/7 (看更多)
※ 引述《DavyBlue (ArssertionError)》之銘言: : ※ 引述《towalking (啊哈)》之銘言: : :public Date (int m, int d, int y) //建構子其一 : : { : : month = m; : : day = d; : : year = y; : : } : : 那我可以寫 Date birthday = new Date(); 找到錯誤了,請看:  public anDate(){} //建構子其二  我另外一個建構子寫這樣…  謝謝版友提醒我了建構子名稱都應該要跟 class 名一樣  對了,這觀念就叫“多型”是吧? : 可以 : 但是要自己在class Date中宣告一個空白建構子 : 如果一個類別中你沒有寫建構子 : 編譯時會自動產生一個預設建構子 就是空白的 像這樣 : public Date(){} : 但是如果有宣告了建構子 就不會自動產生  嗯嗯 了解 跟 C++ 一樣 : 有需要無參數建構子的話 要自己補上 : 這在繼承上尤其重要 : 因為子類別會自動呼叫super();(在類別的第一行) : 所以如果父類別沒寫空白建構子 編譯時就會有問題 : 以上  版友另外有說是不是要把 class 的名稱改一下(原本是 Date)  後來經過試驗,class Date 也是沒問題的,  最大的錯誤是我把另外一個空白建構子寫成 public anDate(){}。  (其實課本習題就是要我們設一個 class Date 呢)  最後想再問一個問題,  return 是不是一次只能回傳一個值呢?    public int getMonth() { return month;   return day; return year; }  這麼寫是不是不行呢?  謝謝版友們解答~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.189.37
文章代碼(AID): #167BOl0Q (java)
討論串 (同標題文章)
文章代碼(AID): #167BOl0Q (java)