java关于final,finally和finalize的一些理解
2015-02-04 09:12
423 查看
这篇主要来探讨一下final,finally和finalize是什么,它们有什么作用和区别?
首先上面前二个为java的关键字,最后一个为方法。
final关键字:
final字面意思是最后的,可以理解为一个终态,不能改变。可以修饰变量,方法和类。final修饰变量,一般认为这个变量为常量,只能赋值一次。对这一次赋值可以是直接赋值,在构造方法中赋值,也可以是在初始化块中赋值。如果变量没有显示赋值,java会给变量在构造方法中初始化一个默认值,如int类型默认为0。final修饰方法,这个类的这个方法不能被继承类重载,但可以被继承,也就是说不能在子类中@Override这个方法。final修饰类,当final修饰一个类,那么这个类就不能被继承,类中的所有方法都为final类型,但final类的成员变量可以修饰
final也可以不修饰。
常见的使用方式如下:
final+变量; static final + 变量(较常用); final + 方法; final + 类; final用于内部匿名类的参数传递; final用于方法的参数(并不常用)。
finally关键字:
finally关键字的使用要配合try{}catch(Exception e){}来使用。使用finally可以是这样的,例如:try{ } catch(Exception e) {} finally { }。在上例的语句中不管发生什么异常操作finally{}都会执行,这里主要是为在try{}发生异常时,有一些变量内存没有被释放,可以在finally{}中进行释放操作。
finalize方法:
类中 finalize方法是继承自Object类,主要是告诉垃圾回收器要做的操作。但一个对象要在堆中永久的被删除之前,会先调用finalize方法。
由以上述的三者的作用可以看出它们的区别,三者的功能完全不一样。
+_+ @ a little a day
首先上面前二个为java的关键字,最后一个为方法。
final关键字:
final字面意思是最后的,可以理解为一个终态,不能改变。可以修饰变量,方法和类。final修饰变量,一般认为这个变量为常量,只能赋值一次。对这一次赋值可以是直接赋值,在构造方法中赋值,也可以是在初始化块中赋值。如果变量没有显示赋值,java会给变量在构造方法中初始化一个默认值,如int类型默认为0。final修饰方法,这个类的这个方法不能被继承类重载,但可以被继承,也就是说不能在子类中@Override这个方法。final修饰类,当final修饰一个类,那么这个类就不能被继承,类中的所有方法都为final类型,但final类的成员变量可以修饰
final也可以不修饰。
常见的使用方式如下:
final+变量; static final + 变量(较常用); final + 方法; final + 类; final用于内部匿名类的参数传递; final用于方法的参数(并不常用)。
finally关键字:
finally关键字的使用要配合try{}catch(Exception e){}来使用。使用finally可以是这样的,例如:try{ } catch(Exception e) {} finally { }。在上例的语句中不管发生什么异常操作finally{}都会执行,这里主要是为在try{}发生异常时,有一些变量内存没有被释放,可以在finally{}中进行释放操作。
finalize方法:
类中 finalize方法是继承自Object类,主要是告诉垃圾回收器要做的操作。但一个对象要在堆中永久的被删除之前,会先调用finalize方法。
由以上述的三者的作用可以看出它们的区别,三者的功能完全不一样。
+_+ @ a little a day
相关文章推荐
- Java final finalize finally的理解
- 个人理解的关于final、finally、finalize
- 关于JavaBean的一些理解
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- 关于java环境变量的一些理解
- 【编程语言】java--final、finally和finalize的区别
- 关于JAVA垃圾收集器与类的finalize()方法的一些总结
- Java面试系列【final、finally、finalize区别】-finalize是什么,基础篇
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- java String 类的一些理解 关于==、equals、null
- Java中final、finally和finalize的区别(转)
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- java中的final、finally,finalize的区别
- java final,finally,finalize
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- JAVA面试题解惑系列(四)——final、finally和finalize的区别
- 关于java反射的一些理解
- java面试之final, finally, finalize的区别
- java中的final, finally, finalize的区别