这篇文章主要介绍了Java中finally语法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1.注意点:
(1)finally语句块可以直接和try语句块联合使用。try...finally....
(2)try.....catch.....finally也可以执行;
(3)在finally语句块中的代码是一定会执行的。
package com.bjpowernode.java_learning;import java.io.*;public class D64_1_ { public static void main(String[] args) throws FileNotFoundException{ try {
System.out.println("ABC");
}finally {
System.out.println("jdfoaij");
}
try {// System.exit(0);//这句话代表退出Java虚拟机
FileInputStream f1 = new FileInputStream("jfdioa"); //下面这个语句不会执行
System.out.println("ABC");
}finally { //无论try里面的语句是否报错,下面的语句都会执行
System.out.println("jfaio");
}
}
}
2.深入finally语句块
public class D64_1_ { public static void main(String[] args) throws FileNotFoundException{ int i = m1();
System.out.println(i);
} public static int m1() { int i = 10; try { return i;
}finally {
i++;
System.out.println("m1的i=" + i);//11
} /*
* 以上代码的执行原理,
* int i = 10;
* trt{
* int temp = i;
* return temp;
* }finally{
* i++;
* System.out.println("m1的i=" + i);//11
* } */
}
}
3.fianlly语句块是一定会执行的,所以通常在程序中,为了保证某个资源一定会被释放,所以一般会在finally语句块中中释放资源。
package com.bjpowernode.java_learning;import java.io.*;public class D64_1_ { public static void main(String[] args) throws FileNotFoundException{
FileInputStream f2 = null; try {
f2 = new FileInputStream("jfoda");
}catch(FileNotFoundException e){
e.printStackTrace();
}finally { if(f2 != null) { try {
f2.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
}
final是一个Java关键字,用它来修饰的变量,不可以重复在被赋值;用它来修饰的成员函数,不可以重新被覆盖。
finalize()是Object中的方法,在垃圾回收之前会自动调用这个方法。
finally是异常处理机制的一个语法结构。
三者其实没有什么联系,是不相同的语法。
感谢你能够认真阅读完这篇文章,希望小编分享的“Java中finally语法怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/69958226/viewspace-2670173/