我正在使用 Java 處理的項目中有兩個包,當我在另一個包中運行類的主程序時,我需要從一個包中調用一個類。我有如下所示的內容:Project JavaCode /src /fr.insalyon.tc.framework Main.java Gameplay.java /Game Wythoff.java問題是在我調用的 Wythoff.java 文件中,import fr.insalyon.tc.framework.Gameplay;但是當我運行 Main.java 時出現錯誤,說它找不到類 Wthoff。Main.java 和 Gameplay.java 都是package fr.insalyon.tc.framework;第一行,Gameplay 是一個接口,Wythoff 實現 Gameplay 來玩游戲。main 的作用如下:BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );nomClasse = in.readLine();Class<?> votreClasse = Class.forName(nomClasse); JeuCombinatoire jeu = (JeuCombinatoire) votreClasse.newInstance();當我運行 Main 并提示我輸入類名時,輸入 Wythoff 會給我一個 ClassNotFoundException我不知道如何修改項目或包以使其一起工作,同時保持當前包原樣,我不想在默認包中有 Wythoff.java,它需要在 /Game
3 回答

莫回無
TA貢獻1865條經驗 獲得超7個贊
Class.forName(nomClasse); 需要類名的完全限定路徑。請將其 nomClasse 更改為 (packgname.classname) & Improt Appropriat 包。
注意:- 有關更多信息,請閱讀 Java 文檔鏈接:- https://docs.oracle.com/javase/8/docs/api/

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
您需要鍵入其中fr.insalyon.tc.framework.Game.Wythoff
一個是完全限定的名稱?;蛘撸谀那闆r下,您也可以鍵入Game.Wythoff
,因為包含main
方法的類位于直接父包中。請注意,通常包名稱以一個簡單的字母開頭,例如game
not Game
。
添加回答
舉報
0/150
提交
取消