A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

听雨

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 听雨 初级黑马   /  2014-4-4 09:19  /  789 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final, finally, finalize 的区别?

6 个回复

倒序浏览
final:修饰符(关键字);如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承,因此一个类不能既被声明为abstract的,又被声明为final 的;将变量或方法声明为final,可以保证它们在使用中不被改变;被声明为final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改;被声明为final 的方法也同样只能使用,不能重载。finally:再异常处理时提供finally 块来执行任何清除操作;如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。finalize:方法名;Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
一、final是一关键字:
        1.final可以修饰类,方法,变量。
        2.final修饰的类不可以被继承。
        3.final修饰的方法不可以被复写。
        4.被final修饰的变量是一个常量只能赋值一次,当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字。作为常量:常量的书写规范所有字母都大写,如果由多个单词组成,单词间通过_连接。
        5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。

二、finally用于异常处理常用格式为:

try
{
        需要被检测的代码;
}
catch(异常类 变量)
{
        处理异常的代码;(处理方式)
}
finally
{
        一定会执行的语句;
}

三、Finalize()是JAVA为类提供的一种特殊方法。用于垃圾回收,收集器的工作过程大致是这样的:一旦垃圾收集器准备好释放无用对象占用的存储空间,它首先调用那些对象的finalize()方法,然后才真正回收对象的内存。通过使用finalize(),就可以在垃圾收集器运行期间进行一些特殊的工作。
回复 使用道具 举报
muma 发表于 2014-4-4 09:24
final:修饰符(关键字);如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承, ...

3Q!刚开始接触,希望以后可以一起交流学习
回复 使用道具 举报
759345779 发表于 2014-4-4 09:37
一、final是一关键字:
        1.final可以修饰类,方法,变量。
        2.final修饰的类不可以被继承。

谢谢!希望以后可以一起交流学习
回复 使用道具 举报
听雨 发表于 2014-4-4 09:42
谢谢!希望以后可以一起交流学习

必须的 一起加油 !!!黑马见
回复 使用道具 举报
听雨 发表于 2014-4-4 09:42
谢谢!希望以后可以一起交流学习

一起加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马