final、finally和finalize

final

          fianl是一个修饰符,可以修饰成员方法 

final成员

   当类中成员变量用final修饰的时候,表示这个这个变量一旦初始化,便不可改变,这里的不可改变是说两点:

    (1)final修饰的基本类型值不变,在被调用方法中更改final变量不会影响调用程序里的值。

    (2)fianl修饰的对象变量其引用不变,在被调用方法中修改对象变量,引用没变,对象值变了,用fianl修饰对象参数,可以防止影响到调用方法的对象变量。

final方法

   (1)fianl修饰一个方法,表明这个方法可能完善了,不需要修改扩展了,fianl方法可继承不可重载。

   (2)fianl修饰一个方法,编译器会将此方法的调用转换为inline机制(被调用的fianl方法代码直接插入调用方法调用处,有可能使调用方法臃肿,慎用fianl修饰方法)。

final类

   (1)final修饰类,表示这个类已经完善不需要扩展了,所以fianl类不可继承。

   (2)Fianl类中成员可以定义成final型或一般型,方法只能是fianl型。


finally

   fianllyjava异常处理模型中的,用finally修饰的代码块,不管有没有异常,必然会执行;

   finally修饰代码块,可以维护对象的内部状态,并可以清除非内存资源。


finalize

        finalize是一个方法名,即finalize()

       Java技术允许使用finalize()方法在垃圾收集器讲对象从内存中清除之前,对这个对象进行调用,将其清理掉;例如:I/O操作和数据连接的清理。

   finalize()函数是用来清理不需要的资源,所以这个函数最多只能调用一次,同时,调用的时候要保证这个对象没有引用,即对象不可达,这也是java语言规范里面所定义的。

       finalize()方法定义在Object类中,所有的类都继承了这个方法,都可以调用这个方法进清除;但是,程序员应该通过程序本身来管理资源,以finalize()方法释放资源为辅,形成一种双保险管理机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值