05.(java基础)-02final,finally,finalize的区别
2015-12-22 20:09
423 查看
1.final 是修饰符,可以用于修饰变量、方法和类。修饰变量时,代表变量不可以修改,也就是常量了,常量需要在定义时赋值或通过构造函数赋值,两者只能选其一;修饰方法时,代表方法只能调用,不能被 override ;修饰类时,代表类不能够派生出子类,所以一个类不能既是
final 又是 abstract;
(注意:final指的是引用不可变性,即它只能指向的初始化时的指向的哪个对象,而不关心指向对象内容的变化,参考《java程序员面试宝典P78》)
2.finally 是异常处理机制中的 try 的从句,用于处理必要的清理工作,那怕执行的 catch 中有 return 语句 finally 也会在 return
之前执行;
3.finalized 是 Object 中定义的一个方法,子类一般都重写该方法,用于在该对象被GC收走前做必要的清理工作,该方法一般供GC调用,但重载 finalized 时,GC只会调用最初始版本的 finalized ,显式地调用初始版本的 finalized 方法具有很大的不确定性。
final 又是 abstract;
(注意:final指的是引用不可变性,即它只能指向的初始化时的指向的哪个对象,而不关心指向对象内容的变化,参考《java程序员面试宝典P78》)
2.finally 是异常处理机制中的 try 的从句,用于处理必要的清理工作,那怕执行的 catch 中有 return 语句 finally 也会在 return
之前执行;
3.finalized 是 Object 中定义的一个方法,子类一般都重写该方法,用于在该对象被GC收走前做必要的清理工作,该方法一般供GC调用,但重载 finalized 时,GC只会调用最初始版本的 finalized ,显式地调用初始版本的 finalized 方法具有很大的不确定性。
相关文章推荐
- Java实现简单的顺序队列
- Java中的线程池——ThreadPoolExecutor的原理
- Java 笔记——序列化
- Spring+Mybatis实现动态SQL查询
- Eclipse使用入门教程
- 使用Maven搭建Spring+SpringMVC+Mybatis+ehcache项目
- 04.(Java基础)-01Static关键字的有哪些作用
- 解决java.sql.ResultSet的getDate获取时间中时分秒为0的问题
- 使用Eclipse编译运行MapReduce程序 Hadoop2.4.1
- 深入Java虚拟机:JVM中的Stack和Heap
- Java工程师成神之路
- 我的java基础学习2
- Java多线程总结(8)concurrent.locks包下的锁机制的使用
- leetcode 140:Word Break II 采用很巧妙的动态规划和DFS联合使用 JAVA源代码实现
- ubuntu下的jdk,eclipse安装
- Java拾遗之Spring Web MVc
- spark createDirectStream保存kafka offset(JAVA实现)
- Java实例变量初始化
- Android Studio导入外部Eclipse项目中用到的so库
- java.lang.ExceptionInInitializerError