1. 程式人生 > >java 知識小點

java 知識小點

try{}catch{}finally{}

 1 package com.xiaou.test1;
 2 
 3 public class FinallyDemo {
 4     // 第一種情況
 5     public static  int test1() {
 6         try {
 7             return 1;
 8         }catch(Exception e) {
 9             return  2;
10         }finally {
11             return 3;
12         }
13
} 14 // 第二種情況 15 public static int test2() { 16 int i = 0; 17 try { 18 i++; 19 return i; 20 21 }catch(Exception e) { 22 return 2; 23 }finally { 24 i--; 25 } 26 } 27 // 第三種情況 28 public
static int test3() { 29 try { 30 int i = 1/0 ; 31 return i; 32 }catch(Exception e) { 33 return 1; 34 }finally { 35 System.out.println("我被執行了"); 36 } 37 } 38 public static void main(String[] args) { 39 // 返回的是3
40 // 因為finally程式碼塊無論是報錯還是在try程式碼塊中return了他將都會執行 41 System.out.println(test1()); 42 // 返回的是1 43 // 因為在執行到return的時候會將值儲存直到finally執行完成後返回, 44 //所以finally怎麼改變這個值都不會受到影響 45 System.out.println(test2()); 46 System.out.println(test3()); 47 } 48 }

 

JAVA的初始化順序:

  父類的靜態成員初始化>父類的靜態程式碼塊>子類的靜態成員初始化>子類的靜態程式碼塊>父類的程式碼塊>父類的構造方法>子類的程式碼塊>子類的構造方法

  注意:靜態成員和靜態程式碼塊只有在類載入的時候執行一次,再次建立例項時,不再執行,因為只在方法區存在一份,屬於一整個類。