Java 中assert和靜態導入的使用
最近一直在做測試,發現了一些JDK?1.5中的一些新的語法特性,在開發的時候確實省了不少時間,在此做簡要的記錄:
assert 的用法
assert?expression1;
?
assert?expression1:expression2;
如果expression1為true,則不拋出錯誤,程序正常運行,expression2也不會執行。
如果expression1為false,則拋出異常,程序中斷跳出,expression2執行。
一般來說,不要在expression1、expression2中使用函數的返回值;
不要將其使用在public函數中檢查輸入參數,但可以用于private函數中檢測輸入參數。
public ? class ?AssertFoo?{ ???? public ? static ? void ?main(String?args[])?{ ???????? // 斷言1結果為true,則繼續往下執行 ???????? assert ? true ; ????????System. out .println( " 斷言1沒有問題,Go!" ); ? ????????System. out .println( "\n-----------------\n" ); ? ???????? // 斷言2結果為false,程序終止 ???????? assert ? false ?:? " 斷言失敗,此表達式的信息將會在拋出異常的時候輸出!" ; ????????System. out .println( " 斷言2沒有問題,Go!" ); ????} } |
Assert 主要是用在程序的調試中,不能因為有了assert而影響了程序的正常運行,相反,如果去掉assert機制后,程序應該可以實現正常的功能,通過一個簡單的例子來說明如何使用assert。
Assert 是在JDK?1.4中引入的新特性,編譯的時候要使用java?-source,執行的時候要使用java?-ea。
在eclispse中執行的時候要配置run中的執行時所需要的參數,如圖所示:
即在VM?arguments中指定運行參數?-ea。
靜態導入的使用
import ? static ?com.loojoy.assertdemo.StaticOperation.*; //? 這是最重//要的 public ? class ?ClientConsole?{ public ? static ? void ?main(String[]?args)?{ // assert?1?==?1; // System.out.println("Finished"); println (); } } |
通常靜態方法在使用的時候需要類名.屬性名或這是方法名。但是使用了靜態導入之后就可以直接使用方法,而不需要再使用類名做前綴了。Let's?drink?code,看代碼是最好的學習方式。
public ? class ?StaticOperation?{
public ? static ? void ?println(){ System. out .println( "????? 這是一個靜態導入方法?:)?" ); }
}
|
在這里需要注意的就是靜態方法的導入方式?import ?static? 包名.類名.*,這種方式,否則會報錯。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
