課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
既然構(gòu)造方法沒有返回值,那么定義方法時(shí)為什么不加 void?還是這里所說的返回值和 return不同?
2016-04-14
源自:Java入門第二季 升級版 8-6
正在回答
這就是規(guī)定,如果你現(xiàn)在自己做一個(gè)新語言的編譯器,也可以規(guī)定構(gòu)造函數(shù)必須加上void,或者一個(gè)特殊的返回值。 ? 那么為什么構(gòu)造函數(shù)沒有返回值呢,主要是為了區(qū)分構(gòu)造函數(shù)和其它方法。其實(shí),你可以嘗試在你的構(gòu)造函數(shù)前加上void,你會發(fā)現(xiàn)編譯可以通過,但是編譯器把它認(rèn)為是方法,而不是構(gòu)造函數(shù),當(dāng)然也無法在new的時(shí)候自動(dòng)調(diào)用。
鳥山明 提問者
public?class?Telephone?{ ?float?cpu; ? ??/** ???*?@param?args ???*/ ??public?static?void?main(String[]?args)?{ ????Telephone?phone=new?Telephone(); ????Telephone?phone2=new?Telephone(6.0f); ??} ????public?void?Telephone(){ ?????System.out.println("無參數(shù)"); ????} ????public?void?Telephone(float?newCpu){ ?????if(newCpu>4){ ??????System.out.println("輸入有誤"); ??????cpu=2.0f; ?????}else{ ??????cpu=newCpu; ?????} ?????System.out.println("有參數(shù)"); ????} ?}
simon_qin
鳥山明 提問者 回復(fù) simon_qin
同學(xué)有興趣的話可以百度一下構(gòu)造方法和實(shí)例化對象之間的關(guān)系,這樣可以更容易的區(qū)分一般的創(chuàng)建方法和構(gòu)造方法的不同之處
public void xxx(){方法代碼;(無return)},
public int xxx(){方法代碼;return xxx(int類型變量);}
這里的 void 和 int 都是用來區(qū)分這個(gè)方法有沒有返回值
public void int xxx(){方法代碼;}這種寫法是錯(cuò)誤的,編譯器是不能識別的
simon_qin 回復(fù) 鳥山明 提問者
void是定義沒有返回值的方法;
如果你想要這個(gè)方法有返回值的話就不能用void定義,要用與返回值相同的類型來定義這個(gè)方法
比如你想返回一個(gè)int類型的值的方法就用int來定義這個(gè)方法
舉報(bào)
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
4 回答方法都沒有返回值嗎
3 回答public是沒有返回值類型么?
2 回答void是什么返回值類型,還有那些返回值類型
3 回答返回值什么?
2 回答沒有數(shù)據(jù)返回
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-04-14
這就是規(guī)定,如果你現(xiàn)在自己做一個(gè)新語言的編譯器,也可以規(guī)定構(gòu)造函數(shù)必須加上void,或者一個(gè)特殊的返回值。
? 那么為什么構(gòu)造函數(shù)沒有返回值呢,主要是為了區(qū)分構(gòu)造函數(shù)和其它方法。其實(shí),你可以嘗試在你的構(gòu)造函數(shù)前加上void,你會發(fā)現(xiàn)編譯可以通過,但是編譯器把它認(rèn)為是方法,而不是構(gòu)造函數(shù),當(dāng)然也無法在new的時(shí)候自動(dòng)調(diào)用。
2016-04-15
2016-04-15
同學(xué)有興趣的話可以百度一下構(gòu)造方法和實(shí)例化對象之間的關(guān)系,這樣可以更容易的區(qū)分一般的創(chuàng)建方法和構(gòu)造方法的不同之處
2016-04-14
public void xxx(){方法代碼;(無return)},
public int xxx(){方法代碼;return xxx(int類型變量);}
這里的 void 和 int 都是用來區(qū)分這個(gè)方法有沒有返回值
public void int xxx(){方法代碼;}這種寫法是錯(cuò)誤的,編譯器是不能識別的
2016-04-14
void是定義沒有返回值的方法;
如果你想要這個(gè)方法有返回值的話就不能用void定義,要用與返回值相同的類型來定義這個(gè)方法
比如你想返回一個(gè)int類型的值的方法就用int來定義這個(gè)方法
2016-04-14
這就是規(guī)定,如果你現(xiàn)在自己做一個(gè)新語言的編譯器,也可以規(guī)定構(gòu)造函數(shù)必須加上void,或者一個(gè)特殊的返回值。
? 那么為什么構(gòu)造函數(shù)沒有返回值呢,主要是為了區(qū)分構(gòu)造函數(shù)和其它方法。其實(shí),你可以嘗試在你的構(gòu)造函數(shù)前加上void,你會發(fā)現(xiàn)編譯可以通過,但是編譯器把它認(rèn)為是方法,而不是構(gòu)造函數(shù),當(dāng)然也無法在new的時(shí)候自動(dòng)調(diào)用。