javabean四個(gè)規(guī)范 簡(jiǎn)述JavaBean與一般的Java類(lèi)有何區(qū)別?
簡(jiǎn)述JavaBean與一般的Java類(lèi)有何區(qū)別?JavaBean是用Java語(yǔ)言編寫(xiě)的可重用組件。要編寫(xiě)JavaBean,類(lèi)必須是具體的、公共的,并且具有無(wú)參數(shù)構(gòu)造函數(shù)。javabean通過(guò)提供符合一
簡(jiǎn)述JavaBean與一般的Java類(lèi)有何區(qū)別?
JavaBean是用Java語(yǔ)言編寫(xiě)的可重用組件。要編寫(xiě)JavaBean,類(lèi)必須是具體的、公共的,并且具有無(wú)參數(shù)構(gòu)造函數(shù)。javabean通過(guò)提供符合一致設(shè)計(jì)模式的通用方法來(lái)公開(kāi)內(nèi)部域的成員屬性。眾所周知,屬性名符合這種模式,其他Java類(lèi)可以通過(guò)自己的機(jī)制發(fā)現(xiàn)和操作這些JavaBean屬性。也就是說(shuō),JavaBean是一個(gè)Java類(lèi),但是您需要根據(jù)上面提到的一些規(guī)則來(lái)編寫(xiě)這個(gè)類(lèi),比如必須是公共的、非參數(shù)構(gòu)造等,按照這些規(guī)則編寫(xiě)之后,這個(gè)JavaBean就可以很容易地在程序中重用,從而提高開(kāi)發(fā)效率。
為什么java需要getter/setter來(lái)獲取私有屬性?
好問(wèn)題。我來(lái)回答這個(gè)問(wèn)題。
。
例如,張三是一個(gè)對(duì)象,而張三的錢(qián)包是他的屬性之一。當(dāng)然,為了安全起見(jiàn),張三把錢(qián)包藏起來(lái),只有他自己才能看到。換句話說(shuō),他的錢(qián)包是私人的。張三還有一個(gè)兒子:小三子。有了小三子,張三需要給小三子提供一個(gè)領(lǐng)取生活費(fèi)的途徑,而不是直接把錢(qián)包暴露給小三子。因?yàn)椋苯咏佑|小三子,會(huì)出現(xiàn)以下問(wèn)題:
1。張三控制不住小三子的拿錢(qián),萬(wàn)一他買(mǎi)了游戲,他的皮膚會(huì)變差的。張三有多少錢(qián)可以被小三子看到,但很多時(shí)候,張三不想被小三子看到(比如私房錢(qián))。小三子長(zhǎng)大后,他會(huì)給張三生活費(fèi)和錢(qián),我不知道我有多少本,就像我得了老年癡呆癥一樣。
總之,通過(guò)方法操作屬性的根本目的是保護(hù)自己的私有屬性不被外部直接訪問(wèn)。