有关于java的final修饰符
近期在學(xué)習(xí)java,今天看到final修飾符的問題,我書上有個(gè)很有意思的句子,如果用final修飾符修飾一個(gè)可變的對(duì)象的話,final修飾符只能讓這個(gè)引用對(duì)象的變量不變,換言之,它指向的對(duì)象不變,但對(duì)象本身可以改變.
我本來還沒理解這句話,還感覺有點(diǎn)問題,后面仔細(xì)思考了下,發(fā)現(xiàn)我其實(shí)是把自己固定c語言的那種數(shù)據(jù)類型而導(dǎo)致我無法理解這句話.簡(jiǎn)單來說,因?yàn)閖ava中的類本身有具有實(shí)例域,而且也有自己獨(dú)立的方法,可以做到對(duì)自己進(jìn)行革新而不需要借助外界的方法或者說c語言中的函數(shù).
換句話說,c語言中的變量(指基本數(shù)據(jù)類型)都是通過外部函數(shù)進(jìn)行修改的,那么類比下對(duì)java final修飾符的描述,實(shí)際上就是鎖死了一個(gè)變量指向其他變量的可能性,但它本身有自殘之類的操作的話,final是不會(huì)管的
那么再換個(gè)角度,變量像是個(gè)泳池,而對(duì)象或者數(shù)據(jù)類型相當(dāng)于蓄水塔,一般泳池和蓄水塔要連接的話,你得有個(gè)管子吧,那么我們這里假設(shè)泳池一次只能和一個(gè)蓄水塔用管子鏈接,那么final修飾符相當(dāng)于把這個(gè)管子給焊死了,泳池不能再和其他的蓄水塔連接了,但是蓄水塔里面的水你是可以換的
總結(jié)
以上是生活随笔為你收集整理的有关于java的final修饰符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cf的借位
- 下一篇: 逆向 EasyBase64