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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么Java中不能有靜態(tài)的構(gòu)造函數(shù)?

為什么Java中不能有靜態(tài)的構(gòu)造函數(shù)?

HUWWW 2019-03-23 19:15:51
我的理解是這樣的:Java中,構(gòu)造函數(shù)是用來實(shí)例化對象的,實(shí)例化時必定有確定的引用變量。但在調(diào)用靜態(tài)函數(shù)時編譯器還是通過解析原來的類來調(diào)用靜態(tài)方法,不通過對象。因此構(gòu)造函數(shù)不能是靜態(tài)的。這種理解正確嗎?
查看完整描述

2 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個贊

我覺得,是類方法(靜態(tài)方法)還是實(shí)例方法,關(guān)鍵是:這個方法是否需要類的某個具體實(shí)例的存在,這個方法是否需要作用在類某個具體實(shí)例上。說白了就是是否需要this的存在。

構(gòu)造方法就是在類的實(shí)例產(chǎn)生后,對這個新生的特定的實(shí)例對象進(jìn)行初始化的,當(dāng)然類似于實(shí)例方法,而不是類方法。


查看完整回答
反對 回復(fù) 2019-04-16
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

構(gòu)造函數(shù)的意義是什么?
主要的作用其實(shí)就是初始化一些實(shí)例屬性,現(xiàn)在將構(gòu)造函數(shù)設(shè)計成靜態(tài)的,那么勢必會出現(xiàn)靜態(tài)方法訪問實(shí)例屬性的情況。
解決方案有兩種:
1.JVM可以為靜態(tài)構(gòu)造函數(shù)隱式的增加一個對對象的引用,就像內(nèi)部類有一個隱式的對外部類的引用一樣,然后通過這個引用訪問對象的實(shí)例屬性,但是從代碼是看不出來的,這樣的話就與Java語言的規(guī)范出現(xiàn)沖突:靜態(tài)方法不可訪問實(shí)例域,所以不可取。
2.使用像python那種解決方法,構(gòu)造函數(shù)的第一個參數(shù)默認(rèn)就是對對象的引用,如self,然后訪問對象的實(shí)例域就通過self進(jìn)行訪問,但是這種代碼符合Java的風(fēng)格嗎?會被吐槽死吧

所以為啥不直接使用實(shí)例方法呢,多方便


查看完整回答
反對 回復(fù) 2019-04-16
  • 2 回答
  • 0 關(guān)注
  • 954 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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