作者towalking (啊哈)
看板java
标题Re: [问题] 请问建构子
时间Wed Apr 11 18:19:26 2007
※ 引述《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