java中final和finally的区别
下文笔者讲述final和finally之间的区别说明,如下所示
finally中的代码一定会运行吗?
Java程序中的finally代码块哪些情况不运行呢?
try catch finally中如果catch中使用return后finally会执行吗?
final关键字简介
1.final修饰的变量是一个常量 笔者建议常量名称要全部大写 且字母和字母之间要用下划线分隔开 2.final的中文含义:最终 所以被final修饰的变量不能被修改 可以保证它们在使用中不被改变 该变量只能被赋值一次 被声明为final的变量必须在声明时给定初值 用来修饰数据时, 包括成员变量和局部变量,对于成员变量来讲,必须在声明时、构造器或者初始化块中对它赋值 3.final修饰局部变量时,既可以在定义时指定默认值,也可以不指定默认值 在变量的生存期中它的值不能被改变,不能对被final修饰的形参赋值 4.被final修饰的类是一个最终类 所以不能够继承 当子类继承被final修饰的父类时是会直接报错 5.被final修饰的方法是一个最终方法 不能被重写 当重写的时候会提示其父类的方法是被final修饰的 所以不能够重写 但是被final修饰的方法,其子类是可以重载
final关键字的特点: final修饰的类是不能被继承的,因为其是一个最终类 final修饰的变量是一个常量,只能被赋值一次 final修饰的方法也不能重写,但能被重载 final可以修饰类、方法、变量 内部类只能访问被final修饰的局部变量
finally块功能
1.finally块通常放在try、catch的后面,有时可以直接放在try 的后面,但有时会不能放 2.finally中的语句是正常执行或者处理异常之后必须执行的语句,finally块一般是用来关闭(释放)物理资源(数据库连接,网络连接,磁盘文件等)无论是否发生异常,资源都必须进行关闭。 3.当没有必要资源需要释放时,可以不用定义finally块。 4.finally块中的代码总能执行,这就说明无论try、catch块中执行怎样的代码,是否发生异常,还是正常运行,finally块一定会被执行,如果想要finally块不执行,除非在try、catch块中调用退出虚拟机的方法,否则finally块无论怎么样还是会被执行 注意事项: try、catch块中的代码发生了异常 但还是会执行到finally块 所以说明不管try、catch块中执行怎样的代码 finally块还是会被执行相关阅读:
finally中的代码一定会运行吗?
Java程序中的finally代码块哪些情况不运行呢?
try catch finally中如果catch中使用return后finally会执行吗?
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。