您的位置:首页 > 编程语言 > Java开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: