反射簡化switch語句

2021-09-08 05:23:50 字數 572 閱讀 9270

1. 乙個簡單工廠類

public

class

factorymodule

return

module;

}}

如果增加乙個新的模組,就需要接著寫case...能不能不動這塊實現擴充套件呢?能!使用反射。

2. 改寫為反射類

public

class

factorymodule

catch

(instantiationexception e)

catch

(illegalacces***ception e)

catch

(classnotfoundexception e)

return

null

; }

}

"com.design.factory." 是包路徑

"module" + moduletype + "impl"是物件名,例如moduledbimpl

後面再增加新的module類,只需要路徑和命名方式保持一致即可。

語句 switch語句

switch語句的特點如下 1 switch x 被選擇的內容 即x 只能是byte,short,int,char這四種型別 2 備選答案並沒有指定的順序,但是執行肯定是從第乙個case開始的,如果其中有匹配的case,執行完,通過該case的break就結束了switch。如果沒有匹配的case,...

if語句和switch語句

利用if else構建分支結構if 表示式 語句1 else else部分是可選的 語句2 當表示式為真的時候,執行語句1,當表示式為假的時候,並且有else語句就執行語句2。if語句巢狀的時候,每乙個else要與最近的且沒有else語句的if進行匹配。例 if i 0 if a b else 例 ...

C 語句 switch語句

switch 語句選擇乙個要執行的語句列表,此列表具有乙個相關聯的 switch 標籤,它對應於 switch 表示式的值.switch statement switch expression switch block switch block switch block 一組switch secti...