为了账号安全,请及时绑定邮箱和手机立即绑定

在另一个包的主包中使用一个包中的 java 类(同一项目)

在另一个包的主包中使用一个包中的 java 类(同一项目)

MMMHUHU 2022-05-21 20:12:43
我正在使用 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贡献1900条经验 获得超5个赞

Class.forName(nomClasse);需要完整的类名,如docs 中所述

所以你必须输入Game.Wythoff


查看完整回答
反对 回复 2022-05-21
?
莫回无

TA贡献1865条经验 获得超7个赞

Class.forName(nomClasse); 需要类名的完全限定路径。请将其 nomClasse 更改为 (packgname.classname) & Improt Appropriat 包。

注意:- 有关更多信息,请阅读 Java 文档链接:- https://docs.oracle.com/javase/8/docs/api/


查看完整回答
反对 回复 2022-05-21
?
绝地无双

TA贡献1946条经验 获得超4个赞

您需要键入其中fr.insalyon.tc.framework.Game.Wythoff一个是完全限定的名称。或者,在您的情况下,您也可以键入Game.Wythoff,因为包含main方法的类位于直接父包中。请注意,通常包名称以一个简单的字母开头,例如gamenot Game



查看完整回答
反对 回复 2022-05-21
  • 3 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号