我試圖在我的文件中捕獲 InvocableTargetException ,但如果我沒有明確為其編寫導入語句,則會收到此錯誤。由于它位于java.lang的子包下,我不知道為什么必須導入它。//this is the import statement that workedimport java.lang.reflect.InvocationTargetException;這是錯誤消息:source\DatabaseDemo.java:38: error: cannot find symbol }catch (NoSuchMethodException | InstantiationException | SQLException | ClassNotFoundException | IllegalAccessException | InvocationTargetException e ){ ^ symbol: class InvocationTargetException location: class DatabaseDemo
2 回答

手掌心
TA貢獻1942條經驗 獲得超3個贊
Java中沒有子包的概念。為了方便起見,我們人類將包視為分層的,因為源代碼通常被構造為目錄的層次結構。然而,在語言級別上不存在這樣的層次結構。換句話說,java.lang.reflect
不是 的“子包” java.lang
。由于只有包的類java.lang
是自動導入的,因此您必須顯式導入InvocationTargetException
。

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
要添加什么@Slaw,java中沒有隱式子包導入。
package a; class A{}
和
package a.b; class B{}
如果您想在 A 中使用 B,則必須將其顯式導入為:import a.b.B;
或import a.b.*;
希望能有所幫助
添加回答
舉報
0/150
提交
取消