java析构方法的使用解析

TK 2020-09-16 11:19:54 java常见问答 7582

对于java析构方法你都了解了吗?下面的话要给大家带来的就是和析构方法的使用相关的内容,有代码示例,一起来了解一下吧。

下面通过一个例子来讲解析构方法的使用,这个例子计算从类当中实例化对象的个数。

1、Counter类在构造方法当中增值,在析构方法当中减值。

下面是计数器类Counter的代码:

public class Counter
{
    private static int count = 0; // 计数器变量
    public Counter()
    {
        // 构造方法
        this.count++; // 创建实例时增加值
    }
    public int getCount()
    {
        // 获取计数器的值
        return this.count;
    }
    protected void finalize()
    {
        // 析构方法
        this.count--; // 实例销毁时减少值
        System.out.println("对象销毁");
    }
}

2、创建一个带main()的TestCounter类对计数器进行测试。

下面是代码:

public class TestCounter
{
    public static void main(String[] args)
    {
        Counter cnt1 = new Counter(); // 建立第一个实例
        System.out.println("数量:" + cnt1.getCount()); // 输出1
        Counter cnt2 = new Counter(); // 建立第二个实例
        System.out.println("数量:" + cnt2.getCount()); // 输出2
        cnt2 = null; // 销毁实例2
        try
        {
            System.gc(); // 清理内存
            Thread.currentThread()
                .sleep(1000); // 延时1000毫秒
            System.out.println("数量:" + cnt1.getCount()); // 输出1
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }
    }
}

执行后的输出结果:

数量:1
数量:2
对象销毁
数量:1

以上就是析构方法的使用方面的一些内容介绍了,你都了解了吧,更多java常见问题及解决方法,请继续来奇Q工具网进行了解吧。

推荐阅读:

java析构方法详解

java包(package)详解,包定义详细介绍

java包(package),包导入详解