之所以這么問,是因為網(wǎng)上查到了兩種說法,一個說構(gòu)造方法的作用是分配內(nèi)存,創(chuàng)建對象,另一個說法是構(gòu)造方法是給已經(jīng)創(chuàng)建好的對象中的成員變量進行初始化對第一種說法有幾個疑點:如果構(gòu)造方法是用來創(chuàng)建對象的,無法解釋抽象類中為什么存在構(gòu)造方法看到很多資料中說接口中不允許有構(gòu)造方法的原因,是接口不能被實例化,可這種說法與上一個疑問有沖突,抽象類也無法被實例化,但它就有構(gòu)造方法個人比較傾向于第二種,就是構(gòu)造方法的作用是給類中的變量進行初始化的,這種說法能夠解釋上邊兩個疑點,因為構(gòu)造方法的作用是給變量進行初始化,所以抽象類中有構(gòu)造方法,因為它有成員變量,需要進行初始化,同樣的,接口中不存在構(gòu)造方法,所以它沒有變量,只允許final修飾的常量,因為常量不需要構(gòu)造方法進行初始化當(dāng)然,以上也只是邏輯分析,根本沒有代碼支持,有人說需要去學(xué)一下JVM,里邊有解釋,可是JVM好難啊,看的頭暈QwQ,只能可恥的做一次伸手黨了,就想問下我這么理解對不對先行拜謝!
添加回答
舉報
0/150
提交
取消