Final用于修饰类、成员变量和成员方法。final修饰的类,不能被继承(String、StringBuilder、StringBuffer、Math,不可变类),其中所有的方法都不能被重写,所以不能同时用abstract和final修饰类(abstract修饰的类是抽象类,抽象类是用于被子类继承的,和final起相反的作用);Final修饰的方法不能被重写,但是子类可以用父类中final修饰的方法;Final修饰的成员变量是不可变的,如果成员变量是基本数据类型,初始化之后成员变量的值不能被改变,如果成员变量是引用类型,那么它只能指向初始化时指向的那个对象,不能再指向别的对象,但是对象当中的内容是允许改变的。

Final修饰的形参,不能在方法中对形参赋值

Final修饰的局部变量和成员变量情况一样,一旦赋值,不可改变。

方法内声明的类或者方法内的匿名内部类,访问该方法内定义的变量,该变量必须要用final修饰。当内部类访问局部变量时,会扩大局部变量的作用域,如果局部变量不用 final 修饰,我们就可以在内部类中随意修改该局部变量值,而且是在该局部变量的作用域范围之外可以看到这些修改后的值,会出现安全问题。

参考:http://www.cnblogs.com/hapjin/p/5744478.html

Finally通常和try catch搭配使用,保证不管有没有发生异常,资源都能够被释放(释放连接、关闭IO流)。

Finalize是object类中的一个方法,子类可以重写finalize()方法实现对资源的回收。垃圾回收只负责回收内存,并不负责资源的回收,资源回收要由程序员完成,Java虚拟机在垃圾回收之前会先调用垃圾对象的finalize方法用于使对象释放资源(如关闭连接、关闭文件),之后才进行垃圾回收,这个方法一般不会显示的调用,在垃圾回收时垃圾回收器会主动调用。

参考链接:

http://www.iteye.com/topic/484934

http://blog.csdn.net/carolzhang8406/article/details/6705831

final、finally、finalize区别相关推荐

  1. final是什么?作用?以及final finally finalize区别?

    final是什么? final: 最终的意思,修饰的东西不可改变.可以用于修饰类.方法和变量. final 有什么用? 被final修饰的类不可以被继承 被final修饰的方法不可以被重写 被fina ...

  2. final finally finalize()区别

    final finally finalize()区别 final 表示最终的.不可改变的.用于修饰类.方法和变量. finally 异常处理的一部分,它只能用在try/catch语句中,表示希望fin ...

  3. java基础知识1---面向对象及final,finally,finalize区别

    1.面向对象(OOP)的特征 •抽象 :就是把现实世界中的某一方面提取出来,用程序代码表示,抽象出来的一般叫做类或接口. 抽象包括两个方面,一个数据抽象,另一个是过程抽象. 过程抽象 :表示功能的操作 ...

  4. java:final,finally,finalize区别

    final可以修饰属性,方法,类.分别表示属性不可变,方法不可覆盖和类不可被继承. final修饰属性的不可变,只的是引用的不可变性. final StringBuffer s = new Strin ...

  5. final finally finalize 区别

    public class Demo {public static void main(String[] args) {long start = System.currentTimeMillis();/ ...

  6. 【面试常问】Java中final和finally以及finalize区别?

    说一下final和finally以及finalize区别? 在面试中如果问到这个问题,我们应该咋么回答呢?我就写一下我的看法如有错误还请个位指正! 文章目录 说一下final和finally以及fin ...

  7. final finally finalize三者有什么区别

    final   finally   finalize三者有什么区别 : (1)final: a) 一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为a ...

  8. day 23-24 面试题:synchronized和volatile的区别;final,finally,finalize区别

    面试题: 1. synchronized和volatile的区别 2. final,finally,finalize区别 1. synchronized和volatile的区别 1.1 JVM内存模型 ...

  9. Android源码中final关键字的用法及final,finally,finalize的区别

    Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...

  10. 关键字回顾(final/finally/finalize()、Synchronized、volatile、static)

    1. final, finally, finalize的区别 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承. finally是异常处理语句结构的一部分,表示总是执行 ...

最新文章

  1. angular $observe() 和$watch的区别
  2. Swift之深入解析如何在Swift中实现状态机
  3. Oauth 2.0概述
  4. leetcode 121
  5. CISO的真正挑战:密码管理、IoT安全合规性
  6. 爬虫学习round02
  7. 跳转的两种方式(转发与重定向)
  8. amd cpu不能在cmd环境下运行java代码_Golang安装与环境搭建并在VSCode里面输出HelloWord...
  9. PHP数据库统计时间戳按天分组输出数据
  10. Matlab颜色对照(RGB三元组、十六进制表示)
  11. 电脑连接android智能电视的一种方法
  12. 三面网易,四面阿里,五年开发经验程序员剑指大厂,稳拿offer
  13. 思维导图不会画,没关系,实用思维导图模板分享
  14. 代码整洁之道 php,关于代码整洁之道的详细介绍
  15. Java面试精选(6):单例模式有几种写法?
  16. 怎么修改php网页图片大小,如何改变图片大小
  17. Ubuntu18.04手动安装Realtek网卡驱动
  18. 2011年随笔记 5月30号以后的日志薄
  19. 领先三星、华为,全球首款可折叠柔性屏手机惊艳上市
  20. 34day 新浪微博(首页)

热门文章

  1. 计算机联锁系统控显机,计算机联锁(微机联锁)习题集-双机热备系统-DS6-11
  2. 在线学习Node.js——Day4
  3. SQL SERVER日期间隔函数
  4. 881@ snprintf函数使用总结
  5. Revit2014如何隐藏保温层
  6. AFC中央计算机系统图,浅谈AFC系统在列车运行图中的运用
  7. RBAC权限管理系统
  8. 变频器与PLC通讯的精简设计
  9. 猫猫学iOS之微博国际版的一个关于线程调用的异常修复Main Thread Checker: UI API called on a background thread 异常
  10. 无线Ad Hoc网络的安全