ITPub博客

首页 > 应用开发 > Java > Java连载64-finally语法和使用注意事项

Java连载64-finally语法和使用注意事项

原创 Java 作者:TonnyZhang 时间:2019-12-24 11:01:42 0 删除 编辑

一、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、finalize和finally之间的区别

final是一个Java关键字,用它来修饰的变量,不可以重复在被赋值;用它来修饰的成员函数,不可以重新被覆盖。

finalize()是Object中的方法,在垃圾回收之前会自动调用这个方法。

finally是异常处理机制的一个语法结构。

三者其实没有什么联系,是不相同的语法。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69958226/viewspace-2670173/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-12-24

  • 博文量
    3
  • 访问量
    1896