• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理

Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

final

当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final。当final修饰变量或者方法时,可以保证他们在使用中不会被改变。被声明为final的变量必须在初始化时给定初值,以后在使用时只能被引用而不能被修改。同样,当final修饰一个方法时,这个方法不能被重载。

finally

异常处理时提供finally来执行任何清楚操作。如果抛出一个异常,那么相匹配的catch子句就会被执行,然后控制就会转入finally块。

finalize

方法名。finalize方法在垃圾回收器执行内存对象清理时会调用finalize()方法进行前期的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

Java中所有类都从Object类中继承finalize()方法。当垃圾回收器(garbage colector)决定回收某对象时,就会运行该对象的finalize()方法。值得C++程序员注意的是,finalize()方法并不能等同与析构函数。Java中是没有析构函数的。C++的析构函数是在对象消亡时运行的。由于C++没有垃圾回收,对象空间手动回收,所以一旦对象用不到时,程序员就应当把它delete()掉。所以析构函数中经常做一些文件保存之类的收尾工作。但是在Java中很不幸,如果内存总是充足的,那么垃圾回收可能永远不会进行,也就是说filalize()可能永远不被执行,显然指望它做收尾工作是靠不住的。

那么finalize()究竟是做什么的呢?它最主要的用途是回收特殊渠道申请的内存。Java程序有垃圾回收器,所以一般情况下内存问题不用程序员操心。但有一种JNI(Java Native Interface)调用non-Java程序(C或C++),finalize()的工作就是回收这部分的内存。

以上所述是小编给大家介绍的Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 深入理解Java中的final关键字_动力节点Java学院整理
  • Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理
  • Java this、final等关键字总结
  • 浅析对Java关键字final和static的理解
  • 详谈Java中Object类中的方法以及finalize函数作用
  • Java中finalize()详解及用法
  • 深入理解Java中的final关键字_动力节点Java学院整理
  • Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理
  • Java this、final等关键字总结
  • 浅析对Java关键字final和static的理解

相关文章

  • 2017-05-28Spring Boot 添加MySQL数据库及JPA实例
  • 2017-05-28java实现输出字符串中第一个出现不重复的字符详解
  • 2017-05-28Java生产1-100的随机数简单实例(分享)
  • 2017-05-28spring使用RedisTemplate的操作类访问Redis
  • 2017-05-28java实现cassandra高级操作之分页实例(有项目具体需求)
  • 2017-05-28eclipse 如何创建 user library 方法详解
  • 2017-05-28java中FileOutputStream中文乱码问题解决办法
  • 2017-05-28数据库基本操作语法归纳总结
  • 2017-05-28Java 加密解密基础分类及模式归纳整理
  • 2017-05-28struts2实现文件上传显示进度条效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • SpringBoot添加Email发送功能及常见异常详解
    • 浅谈java中的一维数组、二维数组、三维数组、多维数组
    • Java 归并排序算法、堆排序算法实例详解
    • JAVA String转化成java.sql.date和java.sql.time方法示例
    • Mybatis中 SQL语句复用
    • springMvc注解之@ResponseBody和@RequestBody详解
    • java中匿名内部类详解
    • jstl标签基础开发步骤(详解)
    • java不用循环语句打印数组元素的实例
    • java Future 接口使用方法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有