作者adrianshum (Alien)
看板java
标题Re: [问题] 建构子的呼叫
时间Tue Dec 4 00:00:31 2007
※ 引述《nf7series (真呆)》之铭言:
: 不好意思阿,问题好多
: public class Hello
: {
: String title;
: int value;
: public Hello()
: {
: title+=" world";
: }
: public Hello(int value)
: {
: this.value=value;
: title="hello";
: Hello(); //错误发生
: }
: public static void main(String[] args)
: {
: Hello c=new Hello(5);
: System.out.println(c.title);
: }
: }
: 上面的code会在 Hello()出错,可是我看书里面有写建构子是可以被建构子呼叫的,
: 我猜想若要呼叫建构子,必须用this(),可是this要放在该函式里面的第一行
: 但....如果我程式要的结果是如上面所写,先将title变成hello,才去呼叫Hello()
: 那该怎麽办呢?
那就不要写这样的 logic 呀.
class Hello {
private int value;
private String title;
public Hello(int value, String title) {
this.value = value;
this.title = title;
}
public Hello(int value) {
this(value, "Hello " + title);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.77.27.47
1F:推 maxi326:这应该是正解了,就是不要那样写就ok了 12/04 10:54
2F:推 maxi326:而且因为不变字串,你的+=" world"也是没有意义的 12/04 10:56
3F:推 H45:不变字串所以 +=" world" 没有意义,这.... 12/04 16:26
4F:→ nf7series:谢拉..解答了我的疑惑,原本那样写是不可行的 12/05 21:56
5F:推 amitofo:title是null,compiler会让你过吗? 12/17 23:23