final登钥、finally、finalize 之間得區(qū)別如下:
1娶靡、final可以修飾類牧牢,變量,方法,修飾的類不能被繼承塔鳍,修飾的變量不能重新賦值伯铣,修飾的方法不能被重寫。
2轮纫、finally用于拋異常腔寡,finally代碼塊內(nèi)語句無論是否發(fā)生異常,都會在執(zhí)行finally蜡感,常用于一些流的關(guān)閉蹬蚁。
3、finalize方法用于垃圾回收郑兴。一般情況下不需要我們實現(xiàn)finalize犀斋,當(dāng)對象被回收的時候需要釋放一些資源,比如socket鏈接情连,在對象初始化時創(chuàng)建叽粹,整個生命周期內(nèi)有效,那么需要實現(xiàn)finalize方法却舀,關(guān)閉這個鏈接虫几。但是當(dāng)調(diào)用finalize方法后,并不意味著GC會立即回收該對象挽拔,所以有可能真正調(diào)用的時候辆脸,對象又不需要回收了,然后到了真正要回收的時候螃诅,因為之前調(diào)用過一次啡氢,這次又不會調(diào)用了,產(chǎn)生問題术裸。所以不推薦使用finalize方法倘是。