java 基礎(chǔ)之final、finally和finalize的區(qū)別
創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元白水做網(wǎng)站,已為上家服務(wù),為白水各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
1.final可以修飾類,不能被繼承;可以修飾方法,不能被重寫;可以修飾變量,只能賦值一次。
2.finally是try語(yǔ)句中的語(yǔ)句體,不能單獨(dú)使用,用來(lái)釋放資源;
3.finalize是一個(gè)方法,當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。
如下代碼程序:
package cn.jit.test; /** * 面試題1:final,finally和finalize的區(qū)別: * * final可以修飾類,不能被繼承; * 可以修飾方法,不能被重寫 * 可以修飾變量,只能賦值一次。 * finally是try語(yǔ)句中的語(yǔ)句體,不能單獨(dú)使用,用來(lái)釋放資源; * finalize是一個(gè)方法,當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象 * 的垃圾回收器調(diào)用此方法。 * * * 面試題2:如果catch里面有return語(yǔ)句,請(qǐng)問(wèn)finally的代碼還會(huì)被執(zhí)行嗎? * 如果會(huì),請(qǐng)問(wèn)是在return前還是在return后? * 會(huì)。在return前。 * * @author Rocky * */ public class FinallyDemo8 { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.method()); } } class Demo { public int method() { int x = 10; try { x = 20; System.out.println(1/0); return x; } catch (Exception e) { x = 30; return x; } finally { /* * finally中不應(yīng)當(dāng)有return語(yǔ)句 * 否則該方法一定會(huì)返回這里的內(nèi)容 */ x = 40; return 40; //千萬(wàn)不要在finally里面寫返回語(yǔ)句,因?yàn)閒inally的作用是 //釋放資源,是肯定會(huì)執(zhí)行的,如果在這里面寫返回語(yǔ)句,那么try和cache //的結(jié)果都會(huì)被改變,所以這么寫就是犯罪?。。? } } }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
文章名稱:java基礎(chǔ)之final、finally和finalize的區(qū)別
本文來(lái)源:http://sd-ha.com/article26/gcjjcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、虛擬主機(jī)、網(wǎng)站排名、網(wǎng)站策劃、響應(yīng)式網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)