最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

沒有返回值

既然構(gòu)造方法沒有返回值,那么定義方法時為什么不加 void?還是這里所說的返回值和 return不同?

正在回答

6 回答

這就是規(guī)定,如果你現(xiàn)在自己做一個新語言的編譯器,也可以規(guī)定構(gòu)造函數(shù)必須加上void,或者一個特殊的返回值。
? 那么為什么構(gòu)造函數(shù)沒有返回值呢,主要是為了區(qū)分構(gòu)造函數(shù)和其它方法。其實,你可以嘗試在你的構(gòu)造函數(shù)前加上void,你會發(fā)現(xiàn)編譯可以通過,但是編譯器把它認為是方法,而不是構(gòu)造函數(shù),當然也無法在new的時候自動調(diào)用。

1 回復 有任何疑惑可以回復我~
#1

鳥山明 提問者

加上void后出錯
2016-04-14 回復 有任何疑惑可以回復我~
#2

鳥山明 提問者

加上void后出錯,顯示方法未定義,為什么會這樣?
2016-04-15 回復 有任何疑惑可以回復我~
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ù)");
????}
?}


0 回復 有任何疑惑可以回復我~
#1

simon_qin

構(gòu)造方法無返回類型,void都不能有 構(gòu)造:public test(){},public test(int a){} 1. 構(gòu)造方法的特征 • 它具有與類相同的名稱; • 它不含返回值; • 它不能在方法中用 return 語句返回一個值; • 當自定義了構(gòu)造方法后,編譯器將不再自動創(chuàng)建不帶參數(shù)的構(gòu)造方法 。 • 在構(gòu)造方法里不含返回值的概念是不同于 “void” 的,在定義構(gòu)造方法時加了 “void” ,結(jié)果這個方法就不再被自動調(diào)用了。
2016-04-15 回復 有任何疑惑可以回復我~
#2

simon_qin

構(gòu)造方法和創(chuàng)建方法是有所不同的,你留意下吧
2016-04-15 回復 有任何疑惑可以回復我~
#3

鳥山明 提問者 回復 simon_qin

好的,很感謝
2016-04-15 回復 有任何疑惑可以回復我~

同學有興趣的話可以百度一下構(gòu)造方法和實例化對象之間的關(guān)系,這樣可以更容易的區(qū)分一般的創(chuàng)建方法和構(gòu)造方法的不同之處

0 回復 有任何疑惑可以回復我~

public void xxx(){方法代碼;(無return)},

public int xxx(){方法代碼;return xxx(int類型變量);}

這里的 void 和 int 都是用來區(qū)分這個方法有沒有返回值

public void int xxx(){方法代碼;}這種寫法是錯誤的,編譯器是不能識別的


0 回復 有任何疑惑可以回復我~
#1

鳥山明 提問者

對,那么這里既然沒有return,為什么卻沒有void呢?
2016-04-15 回復 有任何疑惑可以回復我~
#2

simon_qin 回復 鳥山明 提問者

能發(fā)一下你寫的代碼過來看看嗎?不太懂你想要問的知識點,或許看了代碼能給你分析下
2016-04-15 回復 有任何疑惑可以回復我~
#3

simon_qin 回復 鳥山明 提問者

構(gòu)造方法無返回類型,void都不能有 構(gòu)造:public test(){},public test(int a){} 1. 構(gòu)造方法的特征 • 它具有與類相同的名稱; • 它不含返回值; • 它不能在方法中用 return 語句返回一個值; • 當自定義了構(gòu)造方法后,編譯器將不再自動創(chuàng)建不帶參數(shù)的構(gòu)造方法 。 • 在構(gòu)造方法里不含返回值的概念是不同于 “void” 的,在定義構(gòu)造方法時加了 “void” ,結(jié)果這個方法就不再被自動調(diào)用了。
2016-04-15 回復 有任何疑惑可以回復我~
#4

鳥山明 提問者 回復 simon_qin

好的,代碼如下,多謝
2016-04-15 回復 有任何疑惑可以回復我~
查看1條回復

void是定義沒有返回值的方法;

如果你想要這個方法有返回值的話就不能用void定義,要用與返回值相同的類型來定義這個方法

比如你想返回一個int類型的值的方法就用int來定義這個方法

0 回復 有任何疑惑可以回復我~

這就是規(guī)定,如果你現(xiàn)在自己做一個新語言的編譯器,也可以規(guī)定構(gòu)造函數(shù)必須加上void,或者一個特殊的返回值。
? 那么為什么構(gòu)造函數(shù)沒有返回值呢,主要是為了區(qū)分構(gòu)造函數(shù)和其它方法。其實,你可以嘗試在你的構(gòu)造函數(shù)前加上void,你會發(fā)現(xiàn)編譯可以通過,但是編譯器把它認為是方法,而不是構(gòu)造函數(shù),當然也無法在new的時候自動調(diào)用。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季
  • 參與學習       531261    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號