简述final,finalize,finally的区别?
来源:互联网 发布:pc机安装mac os x 编辑:程序博客网 时间:2024/05/18 02:19
- final是关键字,final可以修饰类、方法、属性。
如果一个类被final修饰,那么这个类就是最终类,不能派生出新的子类,不能作为父类被继承,该类中的所有方法都不能被重写,但是final类中的成员变量是可以改变的,要想final类中的成员变量的不可以改变,必须给成员变量添加final修饰。因此,一个类不能同时被final和abstract修饰,这两个关键字相互矛盾。
如果final修饰方法,那么这个方法是最终方法,不允许任何子类重写该方法,但子类仍可以使用该方法,注意:final参数用来表示这个参数在这个函数内部不允许被修改。
final修饰属性,被final修饰的变量不可变。这里的不可变有两重含义:引用不可变和对象不可变。final指的是引用不可变,即它只能指向初始化时指向的那个对象,而不关心指向对象内容的变化。因此,被final修饰的变量必须初始化,该变量其实就是常量。
使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
- finally作为异常处理的一部分,只能用在try/catch语句快中,finally代码块中的语句一定会被执行,经常被用来释放资源,如IO流和数据库资源的释放。
- finalize是Object类的一个方法,该方法在Object类中声明:
protected void finalize() throws Throwable { }
在垃圾回收器执行时会调用被回收对象的finalize()方法,可以覆盖此方法来实现对其资源的回收。注意:一旦垃圾回收器准备释放某个对象占用的空间,将首先调该对象的
finalize()方法,并且在下一次垃圾回收动作发生时,才真正将该对象占用的内存回收。
阅读全文
0 0
- 简述final,finalize,finally的区别?
- final, finally, finalize的区别
- final finally finalize 的区别
- final, finally, finalize的区别
- final, finally, finalize的区别
- final, finally, finalize的区别
- final, finally, finalize的区别
- final finally finalize 的区别
- final, finally, finalize的区别
- final,finally,finalize的区别
- final,finally,finalize的区别
- final,finally,finalize的区别
- final,finally,finalize的区别
- final, finally, finalize的区别
- final, finally, finalize的区别。
- final, finally, finalize的区别
- final, finally, finalize的区别
- final, finally, finalize的区别?
- IO流/File
- 获取子物体数量---Transform.childCount
- python生成CMPL16类型随机定标测试数据并输出到文件
- Kinect用体感来实现UI控件的点击
- UGUI射线检测
- 简述final,finalize,finally的区别?
- Unity3D文件读取
- Java使用poi包读取Excel文档
- Unity3D调用摄像头
- Kinect 常用识别手势
- Unity3D更新进度条
- Unity3D拖尾组件在Ui界面下正常显示
- NFS
- UGUI 图片去色,变灰度图