android

final,finally,finalize是有区别的

2018-03-20  本文已影响2人  孙科技

本来不想写这一章的,但是我面试时被问到这个问题,fianl 、finally还知道,finalize是什么鬼!他们之间有什么区别,我直接懵逼了!卧薪尝胆做个笔记分享一下。

Final:用于声明属性、方法和类。修饰的是基本类型,就表示这个变量被赋予的值是不可变的,即它是个常量;final修饰的方法不能被子类重写,但不影响子类的继承;final修饰的类不能被继承 。

Finally:只用在try-catch-finally语句中,不论有异常还是没有异常,这段语句最终总被执行。

Finalize:此方法是Object类中的一个方法(所有类都有这个方法),是GC(garbage collertor)运行机制的一部分,是在GC清理它所从属的对象时被调用的,如果执行它的过成中抛出了无法捕获的异常,GC将终止对该对象的清理,并且该异常会被忽略,知道下一次GC开始清理这个对象时,它的Finalize()会被再次调用,调用他们的作用只是建议GC启动,清理无用对象释放内存空间,但GC的启动并不是一定的,这由java虚拟机来决定,知道java虚拟机停止运行。

由此总结出android对Java要精通不然面试时就尴尬了!

上一篇 下一篇

猜你喜欢

热点阅读