如何在下面的代碼中提及班級的路徑?如何提及班級路徑
Class cl=Class.forName("SomeClass");
這種運作良好,如果「SomeClass的」位於調用類的同一目錄下。但是如何從一個不同的目錄中檢查一個班級,我看到的語法就像xxxx.yyyy.class
,但是無法確定那些'x'和''是什麼意思。請幫忙。 在此先感謝。
如何在下面的代碼中提及班級的路徑?如何提及班級路徑
Class cl=Class.forName("SomeClass");
這種運作良好,如果「SomeClass的」位於調用類的同一目錄下。但是如何從一個不同的目錄中檢查一個班級,我看到的語法就像xxxx.yyyy.class
,但是無法確定那些'x'和''是什麼意思。請幫忙。 在此先感謝。
使用fully-qualified class name.例如,與Java SE String
類,這是在java.lang
包來完成:
Class clazz = Class.forName("java.lang.String");
那些xxx
和yyy
代表包名。包通常由與磁盤包名稱相同的磁盤上的目錄表示。當您創建一個類文件時,您可以通過在文件頂部指出package xxx.yyy
來指定該類所在的包。
參考沒有包名稱的"SomeClass"
將嘗試在默認包中加載名爲SomeClass
的類。
我的「SomeClass」位於「E:\ java \ My Works \ BankAccounts \ src \ bkac」,bkac是包名。現在,如何在位於E:\ java \ My Works \ Inheritance \ src的類中調用它? –
磁盤上的目錄結構並不重要,它取決於是否已經構建了jar或適當設置了類路徑。爲了使BankAccounts可用於其他工作,您需要將其包含在類路徑中,以使類加載器知道它可以找到該路徑中的類。 – Dervall
使用Class.forName,但請確保處理可能的ClassNotFoundException異常。這是一個運行時異常,所以並不意味着你需要捕捉它。這就是你將如何知道你是否通往班級的路徑是正確的。問題是,如果它找不到類,那麼有趣的事情可能會發生在你的代碼中。
Class.forName(com.my.package.ClassName)
我的「SomeClass」位於「E:\ java \ My Works \ BankAccounts \ src \ bkac」,bkac是包名。現在,如何在位於「E:\ java \ My Works \ Inheritance \ src」的類中調用它? –
「繼承」下的類的類路徑中的「BankAccounts」下面的類? –