Java学习笔记:object类中的一些常用方法之finalize

 重要的话说在前面,这个知识点有个印象就行了,工作了几乎不会用,因为很少需要重写这个方法!!!!

1、finalize在object类中的方法定义:

finalize()

当垃圾收集确定不再有对该对象的引用时,垃圾收集器在对象上调用该对象。

 2、小结:

 

3、代码演示 

a.应为拥有垃圾回收算法,所以结果可能不是你所想的那样。

package com.dsstudy;

public class Test {
    public static void main(String[] args) {
        A a = new A("ds");
        a=null;
        System.out.println("退出程序..");
    }
}
class A{
    private String name;

    public A(String name) {
        this.name = name;
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println("我调用了finalize方法...");
    }
}

 运行结果:

 b.用System.gc();方法进行主动呼叫垃圾回收,但是这个方法并不一定也能生效(不过一般能生效),比如叫保洁阿姨打扫卫生,但是保洁阿姨有其他事情并没有来,呼叫System.gc();方法有点类似于这个

package com.dsstudy;

public class Test {
    public static void main(String[] args) {
        A a = new A("ds");
        a=null;
        System.gc();
        System.out.println("退出程序..");

    }
}
class A{
    private String name;

    public A(String name) {
        this.name = name;
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println("我调用了finalize方法...");
    }
}

运行结果: 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值