• 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-28让Java程序自动重启的实现方法(推荐)
  • 2017-05-28JavaWeb项目实现文件上传动态显示进度实例
  • 2017-05-28Mybatis调用MySQL存储过程的简单实现
  • 2017-05-28java文件操作之Path,Paths,Files
  • 2017-05-28Java 基础之事务详细介绍
  • 2017-05-28Java IO流 File类的常用API实例
  • 2017-05-28javaweb判断当前请求是否为移动设备访问的方法
  • 2017-05-28Spring Data Jpa实现分页和排序代码实例
  • 2017-05-28webuploader在springMVC+jquery+Java开发环境下的大文件分片上传的实例代码
  • 2017-05-28Java中正则表达式的使用和详解(上)

文章分类

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

最近更新的内容

    • Java interrupt()方法使用注意_动力节点Java学院整理
    • Java基于正则表达式实现的替换匹配文本功能【经典实例】
    • java Super 用法详解及实例代码
    • Java爬虫Jsoup+httpclient获取动态生成的数据
    • PipedWriter和PipedReader源码分析_动力节点Java学院整理
    • 通过JDBC连接oracle数据库的十大技巧
    • Java 内存分配深入理解
    • Java中char[]输出不是内存地址的原因详解
    • Java中Date、Calendar、Timestamp的区别、相互转换与使用
    • java 实现对List做二分查找(支持泛型)

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

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