Re: [問題] 請問建構子
※ 引述《towalking (啊哈)》之銘言:
: ※ 引述《DavyBlue (ArssertionError)》之銘言:
: 找到錯誤了,請看:
: 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;
: }
: 這麼寫是不是不行呢?
: 謝謝版友們解答~
基本上是可以這樣寫,但是return day 和 return year
並沒什麼意義,第一個return就已經把值傳回呼叫程式了!
所以return day ,return year有寫跟沒寫ㄧ樣的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.51.9
※ 編輯: tgbsa 來自: 218.170.51.9 (04/11 19:17)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 7 篇):