新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java基礎(chǔ)之final、finally和finalize的區(qū)別
java 基礎(chǔ)之final、finally和finalize的區(qū)別
創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元白水做網(wǎng)站,已為上家服務(wù),為白水各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
1.final可以修飾類,不能被繼承;可以修飾方法,不能被重寫;可以修飾變量,只能賦值一次。
2.finally是try語句中的語句體,不能單獨使用,用來釋放資源;
3.finalize是一個方法,當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調(diào)用此方法。
如下代碼程序:
package cn.jit.test; /** * 面試題1:final,finally和finalize的區(qū)別: * * final可以修飾類,不能被繼承; * 可以修飾方法,不能被重寫 * 可以修飾變量,只能賦值一次。 * finally是try語句中的語句體,不能單獨使用,用來釋放資源; * finalize是一個方法,當垃圾回收器確定不存在對該對象的更多引用時,由對象 * 的垃圾回收器調(diào)用此方法。 * * * 面試題2:如果catch里面有return語句,請問finally的代碼還會被執(zhí)行嗎? * 如果會,請問是在return前還是在return后? * 會。在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)當有return語句 * 否則該方法一定會返回這里的內(nèi)容 */ x = 40; return 40; //千萬不要在finally里面寫返回語句,因為finally的作用是 //釋放資源,是肯定會執(zhí)行的,如果在這里面寫返回語句,那么try和cache //的結(jié)果都會被改變,所以這么寫就是犯罪!!! } } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
網(wǎng)頁名稱:java基礎(chǔ)之final、finally和finalize的區(qū)別
分享鏈接:http://www.ef60e0e.cn/article/gcjjcg.html