亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析final,finally,finalize 的區(qū)別

 更新時間:2013年09月06日 17:53:22   作者:  
以下是對final,finally,finalize的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下

1.final
final修飾類,說明這個類不能被繼承,是以個頂級類。
final修飾變量,說明這個變量是常量。
final修飾方法,表示這個方法不能被重寫,不過可以沖在final方法。

比如有個基類Person,里面有一個public final void eat()方法,可以在Person類中重載同名方法,比如public void eat(String name,int age)。假如有一個子類Student,那么在Student中可以override父類的非final方法,但是不能override final方法。

Person

復制代碼 代碼如下:

package test2;

public class Person {
    private String name;
    private int age;

    public final void eat()
    {
        System.out.println("this is in person class");
    }

    public void eat(String name,int age)
    {

    }

}


Student
復制代碼 代碼如下:

package test2;

public class Student extends Person {

    @Override
    public void eat(String name, int age) {
        // TODO Auto-generated method stub
        super.eat(name, age);
    }
}


常見的final方法就是Object類累中的wait()和notify()方法。

2.finally
finally是關鍵字,在異常處理中,try子句中執(zhí)行需要運行的內(nèi)容,catch子句用于捕獲異常,finally子句表示不管是否發(fā)生異常,都會執(zhí)行。finally可有可無。但是try...catch必須成對出現(xiàn)。

3.finalize()
finalize() 方法名,Object類的方法,Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象進行調(diào)用。finalize()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理操作。

代碼實例:

復制代碼 代碼如下:

class Person
{
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String toString()
    {
        return "姓名:"+this.name+",年齡:"+this.age;
    }

    public void finalize() throws Throwable{//對象釋放空間是默認調(diào)用此方法
        System.out.println("對象被釋放-->"+this);//直接輸出次對象,調(diào)用toString()方法
    }

}

public class SystemDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person per=new Person("zhangsan",30);
        per=null;//斷開引用,釋放空間
        //方法1:
        System.gc();//強制性釋放空間
        //方法2:
//        Runtime run=Runtime.getRuntime();
//        run.gc();
    }

}

相關文章

  • Java getRealPath(

    Java getRealPath("/")與getContextPath()區(qū)別詳細分析

    這篇文章主要介紹了Java getRealPath("/")與getContextPath()區(qū)別詳細分析,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java中數(shù)學相關類的使用教程

    Java中數(shù)學相關類的使用教程

    Java是一種廣泛使用的編程語言,它提供了許多數(shù)學運算的函數(shù)和方法,使得開發(fā)者可以輕松地進行各種數(shù)學計算,下面這篇文章主要給大家介紹了關于Java中數(shù)學相關類使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • IDEA的常見的設置和優(yōu)化功能圖文詳解

    IDEA的常見的設置和優(yōu)化功能圖文詳解

    這篇文章主要介紹了IDEA的常見的設置和優(yōu)化功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot使用Feign調(diào)用其他服務接口

    SpringBoot使用Feign調(diào)用其他服務接口

    這篇文章主要介紹了SpringBoot使用Feign調(diào)用其他服務接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java dom4j生成與解析XML案例詳解

    Java dom4j生成與解析XML案例詳解

    這篇文章主要介紹了Java dom4j生成與解析XML案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring設計模式中代理模式詳細講解

    Spring設計模式中代理模式詳細講解

    如何實現(xiàn)在不修改源碼的基礎上實現(xiàn)代碼功能的增強呢?spring為我們提供了代理模式。所謂的代理模式通俗來說就是一個中介,它給某一個對象提供一個代理對象,并由代理對象控制原對象的引用,從而實現(xiàn)在不修改源碼的基礎上實現(xiàn)代碼功能的增強
    2023-01-01
  • Java算法之重新排列數(shù)組例題

    Java算法之重新排列數(shù)組例題

    這篇文章主要介紹了Java算法之重新排列數(shù)組例題,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-08-08
  • java中對象的序列化與反序列化深入講解

    java中對象的序列化與反序列化深入講解

    這篇文章主要給大家介紹了關于java中對象的序列化與反序列化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • 基于java中cas實現(xiàn)的探索

    基于java中cas實現(xiàn)的探索

    這篇文章主要介紹了java中cas實現(xiàn)的探索,基于很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 使用Java的Lucene搜索工具對檢索結果進行分組和分頁

    使用Java的Lucene搜索工具對檢索結果進行分組和分頁

    這篇文章主要介紹了使用Java的搜索工具Lucene對檢索結果進行分組和分頁的方法,Luence是Java環(huán)境中的一個全文檢索引擎工具包,需要的朋友可以參考下
    2016-03-03

最新評論