我正在使用 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
一个是完全限定的名称。或者,在您的情况下,您也可以键入Game.Wythoff
,因为包含main
方法的类位于直接父包中。请注意,通常包名称以一个简单的字母开头,例如game
not Game
。
添加回答
举报
0/150
提交
取消