final、finally、finalize
来源:互联网 发布:有猫脸的拍照软件 编辑:程序博客网 时间:2024/06/06 05:42
一、final是修饰符
修饰类的时候,类不可以被继承
修饰成员函数的时候,成员函数不可以被重写,多态机制被破坏。
修饰成员变量的时候,1:基本数据类型,代表不可更改。2:引用数据类型,引用不可更改,引用的对象是可以更改的
二、finally语句块
try--catch--finally
finally最终被执行的部分,一般用来进行资源关闭清理的操作,
public class FinalTest { public static int getInt(){ int i=10; try{ return ++i; }finally { System.out.println("will deal with i"); i=100; } } public static void main(String args[]){ System.out.println(getInt()); try{ return; }finally { System.out.println("wo le ge qu"); } }}这段代码是一个面试题,在方法getInt,try块中执行return 语句,返回++i的值,这个时候的值是11,finally在return之前被调用了,执行了i=100的操作,开始会认为是100或者是101,事实证明是11,无论你返回的是interger引用类型还是int基本数据类型。记录的是返回时刻的引用,除非把i值封装在一个类的成员变量里面,理解引用。
三、finalize:
垃圾回收并不等于析构,因此垃圾回收并不保证一定会执行,执行的时候会调用finalize的方法,垃圾回收本身也有开销,策略就是,程序没有濒临用完的话,不会执行,程序执行结束,自然会退出,将资源交付。
那什么时候用?----本地方法中,调用c或c++的代码,malloc函数分配内存,必须手动调用free,否则会造成内存泄漏的问题
0 0
- 谈谈final,finally,finalize
- 谈谈final,finally,finalize
- java final,finally,finalize
- final、finally、finalize详解
- 谈谈final,finally,finalize
- final、finally、finalize
- final、finally和finalize
- final,finally,finalize
- final,finally,finalize小结
- 详解 finalize、final、finally
- final、finally、finalize分析
- final,finally,finalize区别
- final finally finalize
- final, finally, finalize区别
- final、finalize、finally
- final finally finalize
- 浅析final finally finalize
- final finally finalize
- 聚类算法1-------K-均值(KMeans)算法原理和Python实现
- 如何使用非递归算法实现二叉排序树的建立
- Python入门---第一坑--安装编译环境
- 友元
- hive单节点安装
- final、finally、finalize
- Android自定义控件——模拟抛体加速减速效果
- 使用AndroidStudio创建第一个程序Helloword
- css简洁代码实现 两端对齐
- 使用Maven管理Spring
- Assetbundle内存占用测试
- unknown target 'mrproper'
- 【机器学习】EM算法详细推导和讲解
- C++引用的本质剖析