Java 中,構造方法是否有返回值?

時間 2021-06-11 20:36:58

1樓:黃哥

正確的使用搜尋引擎是多麼重要!

搜尋結果中,stackoverflow 網上的問答,就能找到你要的答案。

建議用「搜狗英文」搜尋。

2樓:invalid s

沒有。物件的建立分為兩步。第一步是從某個位置獲得一塊記憶體,第二步是把這塊記憶體「初始化」。而乙個物件如何初始化,只有它的設計者知道。

建構函式就是這麼乙個約定:你在這樣乙個特殊函式裡填寫初始化相關邏輯,編譯器在建立物件時呼叫――注意,你自己無權呼叫初始化函式,只有編譯器有這個許可權。

因此,既然你壓根就沒有呼叫構造/析構函式的許可權,你又怎麼能得到它的返回值?

既然物件建立框架壓根就沒有返回值方面的約定,你又如何給它返回資訊?

就這麼簡單個約定,都能鬧的鬼氣森森……我也是服了中文IT界了。

3樓:

返回引用的是new關鍵字,不是構造器。

打個比方來說,就好像new負責蓋乙個房子(開闢記憶體),請了構造器來裝修(初始化),然後把房子的鑰匙和位址交給你(返回引用)。構造器只是個裝修的,new才是開發商。

JS 建構函式返回值的問題

如果return的值是object,那麼就返回這個return的object,前面的this就都是無效的 如果return的值型別不是object,就還是返回this 搬運一下Annotated ES5 11.2.2 The new Operator The production NewExpres...

C 的函式返回值是如何構造的?

你如果是想問為什麼少輸出乙個new的話,那是因為F在隱式建立返回值物件的過程中,呼叫的是複製建構函式A const A 而不是預設的無參建構函式A 所以你自定義的無參建構函式A 並沒有捕獲到這次構造。include using namespace std struct A A A const A o...

為什麼 C Java 中函式返回值是單一的,而 Matlab Octave 則支援多個返回?

王贇 Maigo 多個返回值可以說只是乙個語法糖,從功能上看,它並沒有做到單個返回值做不到的事情。但是這個語法糖可以使得某些情況下程式簡潔 易讀。比如乙個函式的功能是計算乙個陣列中的最小值和最大值,此時使用兩個返回值就非常好懂 min max minmax a matlab 當然,也可以把最小值和最...