亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

Java中Finally關(guān)鍵字

時(shí)間:2025-10-24 03:12:57 java語(yǔ)言 我要投稿

Java中Finally關(guān)鍵字

  Java 編程的人都知道 finally 語(yǔ)句塊的作用和用法。以下就是小編精心推薦Java中Finally關(guān)鍵字,希望對(duì)大家有幫助!

  final:禁止多態(tài)開(kāi)關(guān)~

  修飾變量:變量不能被改變

  修飾類:類不能被繼承

  修飾方法:方法不能被重寫

  finally:用在異常處理的最后一個(gè)語(yǔ)句塊

  無(wú)論是否產(chǎn)生異常都要被執(zhí)行~~~

  Java代碼

  public final class FinallyTest { public static void main(String[] args) { try { throw new NullPointerException(); } catch (NullPointerException e) { System.out.println("程序拋出了異常"); } finally { System.out.println("執(zhí)行了finally語(yǔ)句塊"); } } }

  Java中finally關(guān)鍵字的使用

  與其他語(yǔ)言的模型相比,finally 關(guān)鍵字是對(duì) Java 異常處理模型的最佳補(bǔ)充。finally 結(jié)構(gòu)使代碼總會(huì)執(zhí)行,而不管有無(wú)異常發(fā)生。使用 finally 可以維護(hù)對(duì)象的內(nèi)部狀態(tài),并可以清理非內(nèi)存資源。 如果沒(méi)有 finally,您的代碼就會(huì)很費(fèi)解。例如,下面的代碼說(shuō)明,在不使用 finally 的情況下您必須如何編寫代碼來(lái)釋放非內(nèi)存資源:

  import java.net.*; import java.io.*;class WithoutFinally { public void foo() throws IOException { /pic/pic/pic/pic/pic/p>

  這段代碼創(chuàng)建了一個(gè)套接字,并調(diào)用 accept 方法。在退出該方法之前,您必須關(guān)閉此套接字,以避免資源漏洞。為了完成這一任務(wù),我們?cè)?/pic/pic/pic/p>

  這樣編寫代碼既麻煩又易于出錯(cuò),但在沒(méi)有 finally 的情況下這是必不可少的。不幸的是,在沒(méi)有 finally 機(jī)制的語(yǔ)言中,程序員就可能忘記以這種方式組織他們的代碼,從而導(dǎo)致資源漏洞。Java 中的 finally 子句解決了這個(gè)問(wèn)題。有了 finally,前面的代碼就可以重寫為以下的形式:

  import java.net.*; import java.io.*;class WithFinally { public void foo2() throws IOException { /pic/pic/p>

  finally 塊確保 close 方法總被執(zhí)行,而不管 try 塊內(nèi)是否發(fā)出異常。因此,可以確保在退出該方法之前總會(huì)調(diào)用 close 方法。這樣您就可以確信套接字被關(guān)閉并且您沒(méi)有泄漏資源。在此方法中不需要再有一個(gè) catch 塊。在第一個(gè)示例中提供 catch 塊只是為了關(guān)閉套接字,現(xiàn)在這是通過(guò) finally 關(guān)閉的。如果您確實(shí)提供了一個(gè) catch 塊,則 finally 塊中的代碼在 catch 塊完成以后執(zhí)行。

  finally 塊必須與 try 或 try/catch 塊配合使用。此外,不可能退出 try 塊而不執(zhí)行其 finally 塊。如果 finally 塊存在,則它總會(huì)執(zhí)行。(無(wú)論從那點(diǎn)看,這個(gè)陳述都是正確的。有一種方法可以退出 try 塊而不執(zhí)行 finally 塊。如果代碼在 try 內(nèi)部執(zhí)行一條 System.exit(0); 語(yǔ)句,則應(yīng)用程序終止而不會(huì)執(zhí)行 finally 執(zhí)行。另一方面,如果您在 try 塊執(zhí)行期間撥掉電源,finally 也不會(huì)執(zhí)行。)


【Java中Finally關(guān)鍵字】相關(guān)文章:

Java中finally的問(wèn)題10-29

理解java中的關(guān)鍵字03-17

Java中synchronized關(guān)鍵字的用法01-16

解析Java中volatile關(guān)鍵字11-27

講解Java編程中finally語(yǔ)句的使用方法01-30

Java中final關(guān)鍵字用法的講解03-02

Java編程中this關(guān)鍵字與super關(guān)鍵字的使用方法09-03

java關(guān)鍵字復(fù)習(xí)12-12

Java關(guān)鍵字及注釋02-16

  • 相關(guān)推薦