[英]Using java class from one package in main of another package (Same project)
我正在用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来玩游戏。 主要功能如下:
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中
的Class.forName(nomClasse); 需要类名的完全合格路径。 请将nomClasse更改为(packgname.classname)和Improt Appropriat软件包。
注意:-有关更多信息,请阅读Java文档链接:-https: //docs.oracle.com/javase/8/docs/api/
您需要输入fr.insalyon.tc.framework.Game.Wythoff
,这是完全限定名称。 或者,您也可以键入Game.Wythoff
因为包含main
方法的类位于直接父包中。 并且请注意,通常包名称以简单字母开头,例如game
not Game
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.