final,finally,finalize()的区别

final

   final 修饰符(关键字)
  • 如果一个类被声明为final 那么这个类就不能派生出子类,也不能被继承 比如String Math 等
  • 如果一个变量和方法被final 修饰 那么他们在使用中就不能被改变 并且 被final 修饰的变量必须给定初始值 在后面的引用中 只能使用 不能修改
  • 方法被修饰 也是只能使用 不能重写
  • 如果修饰的是对象 那么对象的引用地址不变 但是对象的值是可以变
class Test {
  public static void main(String[] args) {
    final People people = new People("123);
    dog.name = "111";//正确
    people = new People("222");//错误
 }
}

finally

		异常处理try {}catch ()中

finally 在try catch中最后执行(如果有) 一般情况下 在finally 中进行一些资源的释放 流的关闭
如果finally 存在 不管有没有异常 都会执行

	补充: try catch finally 的执行顺序

try catch finally 执行顺序

finalize

  • finalize() : 可以在垃圾回收器 把对象从内存清除之前 进行一些操作 进行清理

  • finalize() 在object 中定义 在垃圾回收器删除对象之前被调用 并且是由jvn 调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值