第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

沒有返回值

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

正在回答

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)用。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

鳥山明 提問者

加上void后出錯(cuò)
2016-04-14 回復(fù) 有任何疑惑可以回復(fù)我~
#2

鳥山明 提問者

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

simon_qin

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

simon_qin

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

鳥山明 提問者 回復(fù) simon_qin

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

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

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

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

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

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


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

鳥山明 提問者

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

simon_qin 回復(fù) 鳥山明 提問者

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

simon_qin 回復(fù) 鳥山明 提問者

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

鳥山明 提問者 回復(fù) simon_qin

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

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

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

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

這就是規(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)用。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第二季 升級版
  • 參與學(xué)習(xí)       531094    人
  • 解答問題       6276    個(gè)

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

進(jìn)入課程
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

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