導航:首頁 > 編程語言 > java中finally的用法

java中finally的用法

發布時間:2023-10-22 15:16:17

java中final,finally和finalize的區別是什麼

一辦企業都會問道這個問題 這個是要注意的

final --修飾符(關鍵字)。如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承 被final聲明過的類也可以稱為太監類(因為不能在繼承)被final聲明過的變數就變成常量了 如果加上static 就是全局常量了
finally—在異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。

finalize —方法名。Java 技術允許使用finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。一旦垃圾回收器准備好釋放對象佔用的空間,將首先調用其finalize()方法,並且在下一次垃圾回收動作發生時,才會真正回收對象佔用的內存。
簡單的說finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的
希望對你有幫助

② java中為什麼用finally語句

類似與發生錯誤之後,一定要進行的操作!
比較猥瑣的例子就是:
try{
grilFriend().hasChild();
//女友版意外懷孕
}catch{
grilFriend().streamOfPeople();
//人流處理
}finally{
careof();
//照顧權她
}
是人,總是要照顧的

③ JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什麼意

throws關鍵字通常復被應用在聲明方法時制,用來指定可能拋出的異常。多個異常可以使用逗號隔開。當在主函數中調用該方法時,如果發生異常,就會將異常拋給指定異常對象。
throw關鍵字通常用在方法體中,並且拋出一個異常對象。程序在執行到throw語句時立即停止,它後面的語句都不執行。通過throw拋出異常後,如果想在上一級代碼中來捕獲並處理異常,則需要在拋出異常的方法中使用throws關鍵字在方法聲明中指明要跑出的異常;如果要捕捉throw拋出的異常,則必須使用try—catch語句。
finally則是表示最後執行的,與try—catch連用,不管是否拋出異常,都會執行finally塊的內容。

④ 試解釋Java與Finally的意義及用法

一、 finally:java的一種異常處理機制。
finally是對Java 異常處理模型的最佳補充。finally 結構使代碼總會執行,而不管有無異常發生。使用 finally 可以維護對象的內部狀態,並可以清理非內存資源。特別是在關閉資料庫連接這方面,如果程序員把資料庫連接的close()方法放到finally中,就會大大降低程序出錯的幾率。
二、在java中的finally關鍵一般與try一起使用,在程序進入try塊之後,無論程序是因為異常而中止或其它方式返回終止的,finally塊的內容一定會被執行
寫個例子來說明下:
[java] view plainprint?
<pre class="java" name="code">package com.teedry.base;

public class TryAndFinallyTest {

public static void main(String[] args) throws Exception{
try{
int a = testFinally(2);
System.out.println("異常返回的結果a:"+a);
}catch(Exception e){
int b = testFinally(1);
System.out.println("正常返回的結果b:"+b);
}
int b = testFinally(3);
System.out.println("break返回的結果:"+b);

b = testFinally(4);
System.out.println("return返回的結果:"+b);

}

static int testFinally(int i) throws Exception{
int flag = i;
try{//一旦進去try范圍無論程序是拋出異常或其它中斷情況,finally的內容都會被執行
switch(i){
case 1:++i;break;//程序 正常結束
case 2:throw new Exception("測試下異常情況");
case 3:break;
default :return -1;
}
}finally{
System.out.println("finally coming when i="+flag);
}
return i;
}
}
</pre><br>
<pre></pre>
<p>執行結果如下:</p>
<p>finally coming when i=2<br>
finally coming when i=1<br>
正常返回的結果b:2<br>
finally coming when i=3<br>
break返回的結果:3<br>
finally coming when i=4<br>
return返回的結果:-1</p>
<p> </p>
<p>結果說明無論上述什麼情況,finally塊總會被執行。 </p>

二 try的范圍內存在exception的話,就會在exception的位置跳到exception哪裡,然後執行完exception之後就馬上進入finally。
假如exception范圍內存在return這些的也會執行finally
假如try范圍內不存在exception的話,就執行完try范圍內代碼之後進入finally執行,finally代碼

其實,一般finally寫的代碼就是流的關閉語句,

假如還是不明白,試一下運行我下面寫的幾個代碼就知道的了。假如try不存在exception的話:
try{
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}

假如try中存在exception的:
try{
String demo = null;
demo.split(";");
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}

假如try中存在exception,然後exception中存在跳出語句的:
try{
String demo = null;
demo.split(";");
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
return;
}
finally{
System.out.println("Finally");
}

假如try中不存在exception,但是try中存在跳出語句的:
try{
System.out.println("try");
return;
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}

閱讀全文

與java中finally的用法相關的資料

熱點內容
java將數字轉換成字母 瀏覽:854
c盤中的哪些是系統文件夾 瀏覽:668
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905

友情鏈接