final,finally,finalize的区别

一.   final用于声明属性,方法,和类,表示属性不可变,方法不可覆盖,类不能继承

     finally是异常处理中必须执行的代码

     finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法

      供垃圾收集时的其他资源的回收,所有的类都可以重写这个方法.例如做关闭流,关闭文件,和其他清理工作

二.  final修饰基本数据类型,表示这个变量被赋予的值是不可改变的,它是个常量

    final修饰对象,表示这个对象的引用是不可变的,与对象无关

    被final修饰的变量必须被初始化:

        初始化的方式:1.定义的时候

               2.final可以在初始化代码块中初始化,但不能再静态代码块中初始化

              3.静态final变量可以在静态代码块中初始化,不可以在非静态代码块中初始化

              4.final修饰的变量还可以在构造器中初始化,但静态final不可以

      final和abstract不能同时修饰一个类,final也不能修饰接口

posted @ 2017-03-04 23:46  我_会飞的鱼  阅读(151)  评论(0编辑  收藏  举报