天天看點

基礎篇——final、finally、finalize的差別

寫代碼的四點:

     1.明确需求。要做什麼?

     2.分析思路。要怎麼做?(1,2,3……)

     3.确定步驟。每一個思路要用到哪些語句、方法和對象。

     4.代碼實作。用具體的語言代碼将思路實作出來。

學習新技術的四點:

     1.該技術是什麼?

     2.該技術有什麼特點?(使用需注意的方面)

     3.該技術怎麼使用?(寫Demo)

     4.該技術什麼時候用?(在Project中的使用場景 )

----------------------早計劃,早準備,早完成。------------------------

final:

           是一種修飾符,可以用來修飾類、方法、變量。

           被final修飾的類,不可以被繼承;

           被final修飾的方法,不可以被重寫(覆寫);

           被final修飾的變量是一個常量,隻能被指派一次;

           内部類隻能通路被final修飾的局部變量;

finally:

             在異常處理時提供finally語句塊來執行所有關閉資源操作。

             無論是否發生異常,資源都必須進行關閉。

             作用:finally塊中的語句一定會被執行,并且是在return之前執行。

                       如果try-catch-finally或者try-finally中都有return,

                       則傳回的是finally中的return;

                       如果finally中沒有return,則傳回的是try或者catch的return,

                       但是finally中的代碼也是要在return之前執行的。

             注:System.exit(0);退出JVM虛拟機,這種情況finally不執行。

finalize:

            finalize方法是GC(垃圾回收機制)的一部分。finalize方法在GC清理它所從屬的對象時調用,如果在執行它的過程中抛出了無法捕獲的異常,GC将終止對該對象的清理,并忽略該異常。直到下次GC開始清理這個對象時,會再次調用finalize方法。

---------------------------------------------------------------------------------------------------------------------------

早計劃,早準備,早完成。 歡迎關注!交流!Star!

GitHub:https://github.com/wangyang0313

微信公衆号:一個靈活的胖子MrWang

簡書:https://www.jianshu.com/u/e5e733d79b96  

基礎篇——final、finally、finalize的差別