int可以自動轉(zhuǎn)換為long嗎 構(gòu)造函數(shù)難道可以有返回值類型?
構(gòu)造函數(shù)難道可以有返回值類型?構(gòu)造函數(shù)不會返回值,因?yàn)槟J(rèn)情況下,它會返回到該值本身。如果定義了變量,則變量屬性的值由該指針初始化。如果定義了指針形式,則會生成一個內(nèi)存指針,通過調(diào)用新的構(gòu)造函數(shù)來存儲
構(gòu)造函數(shù)難道可以有返回值類型?
構(gòu)造函數(shù)不會返回值,因?yàn)槟J(rèn)情況下,它會返回到該值本身。如果定義了變量,則變量屬性的值由該指針初始化。如果定義了指針形式,則會生成一個內(nèi)存指針,通過調(diào)用新的構(gòu)造函數(shù)來存儲屬性值。
構(gòu)造函數(shù)不能指定返回值,是怎么回事?
1. 構(gòu)造函數(shù)調(diào)用不設(shè)置返回值的原因是由構(gòu)造函數(shù)的特殊性決定的。從基本語義的角度來看,構(gòu)造函數(shù)應(yīng)該返回構(gòu)造的對象。構(gòu)造函數(shù)和析構(gòu)函數(shù)是兩個非常特殊的函數(shù):它們沒有返回值。這顯然不同于返回值為void的函數(shù)。盡管后者不返回任何值,但它可以執(zhí)行其他操作,但構(gòu)造函數(shù)和析構(gòu)函數(shù)是不允許的。創(chuàng)建并消除程序中對象的非行為如果它們有返回值,要么編譯器必須知道如何處理返回值,要么客戶端程序員只能自己顯式調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)。這樣,安全就會被破壞。此外,析構(gòu)函數(shù)不承擔(dān)任何責(zé)任,類foo{foo(){}}構(gòu)造函數(shù)與類同名,不需要指定返回類型。構(gòu)造函數(shù)用于實(shí)例化對象,即傳遞參數(shù)以創(chuàng)建對象而不返回值。
如果構(gòu)造函數(shù)不返回值的話,怎么解釋這個程序?
Java中的構(gòu)造方法用于初始化類并為實(shí)例變量提供適當(dāng)?shù)某跏贾?。因此,?gòu)造函數(shù)不需要返回類型。
構(gòu)造方法必須滿足以下語法規(guī)則:
(1)方法名必須與類名相同;
(2)不聲明返回類型;
(3)不能被靜態(tài)、final、synchronized、abstract和native修改;
(4)構(gòu)造方法不能被子類繼承,因此用final修改沒有意義抽象的。