java中final-finally-finalize和abstract-interface简介

本文深入探讨Java中final、finally、finalize关键字的功能与应用,同时解析异常处理机制中的try、catch、finally块的作用,以及如何在垃圾回收时利用finalize方法进行资源回收。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  final—修饰符(关键字)如果一个被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为  abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载。


 finally—再异常处理时提供  finally  块来执行任何清除操作。如果抛出一个异常,那么相匹配的  catch  子句就会执行,然后控制就会进入  finally  块(如果有的话)。 
 
    finalize—方法名。Java  技术允许使用  finalize()  方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在  Object  类中定义的,因此所有的类都继承了它。子类覆盖  finalize()  方法以整理系统资源或者执行其他清理工作。finalize()  方法是在垃圾收集器删除对象之前对这个对象调用的。   

final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.


finally是异常处理语句结构的一部分,表示总是执行

try{

}catch{

}finally{

}


finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等.


abstract 
修饰类:不能用new 实列化一个对象,但可以声明成一个抽象类的变量

修饰方法: 没有方法体,以分号结束,子类如果是抽象类,可以不实现;如果子类不是抽象类,一定要实现抽象方法;如果一个类里有一个抽象方法,此类必为抽象类;如果一个类是抽象类,里面的方法可以不为抽象方法


Interface 
用interface来定义一个接口,里面的方法都没有方法体,所有的方法和属性的修饰符只能是 public或不写(默认public),接口里能定义属性 
用implements来实现一个接口,一个类可以实现多个接口,实现类“继承”接口的属性,实现类里要实现接口中的所有方法,接口不能用new 来实例化,但可以声明一个接口变量

error 表示恢复不是不可能,但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值