zoukankan      html  css  js  c++  java
  • final、finally、finalize的区别

    • final:修饰符,可以用于修饰成员、方法和类。
    1. 如果一个类被声明为final,意味着该类不能再派生出新的子类,不能作为父类被继承。因此一个类不能即被声明为abstract,又被声明为final。final类中的成员方法和成员属性都默认为final类型。Java类库中final类有String类、Math类、StringBuffer类、 StringBuilder类、Double等包装类
    2. 如果一个方法被声明为final,意味着该方法无法被覆写,但是仍然可以被继承。
    3. 如果一个成员被声明为final,意味着该成员一旦被初始化,便不可改变。对于基本类型,表示其值不可改变;对于引用类型,表示其引用(地址)不可改变。其初始化可以在两个地方:一是其定义处,二是在构造函数中
    4. 还有一种用法是定义方法中的参数为final,对于基本类型,这样做并没有什么实际意义,因为基本类型的变量在调用方法时是传值的,然而对于对象变量,由于对象变量传递的是其引用,用final限定形参可以确保传递进来的对象不会被改变,可以防止你无意的修改而影响到调用的方法。
    • finally: 是对Java异常处理模型的最佳补充,在异常处理时提供finally块来执行任何清除操作。finally代码块总会被执行,无论是否有异常发生
    • finalize:是Object类中定义的一个方法。JVM保证调用finalize函数之前,这个对象是不可达的,但是JVM不保证这个函数一定会被调用。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前作必要的清理工作。规范保证一个对象的finalize()方法最多只运行一次。
  • 相关阅读:
    Python 存储引擎 数据类型 主键
    Python 数据库
    Python 线程池进程池 异步回调 协程 IO模型
    Python GIL锁 死锁 递归锁 event事件 信号量
    Python 进程间通信 线程
    Python 计算机发展史 多道技术 进程 守护进程 孤儿和僵尸进程 互斥锁
    Python 异常及处理 文件上传事例 UDP socketserver模块
    Python socket 粘包问题 报头
    Django基础,Day7
    Django基础,Day6
  • 原文地址:https://www.cnblogs.com/mukekeheart/p/5634240.html
Copyright © 2011-2022 走看看