我创建了一个类HT17
package useFul;
class HT17
{
void show()
{
System.out.println("Hello World!");
}
}
我尝试从同一个包中的另一个类访问它
package useFul;
class HT18
{
public static void main(String[] args)
{
HT17 h =new HT17();
h.show();
}
}
但我收到错误:找不到符号HT17 是的,它们在同一个目录中,即useFul 解决方案会有所帮助!
答案 0 :(得分:0)
您很可能正在使用javac <file name>
这将在同一文件夹中创建类文件,即使您已定义了包。
因此,您必须使用javac -d .
选项,这将为类创建正确的文件夹结构。请尝试以下方法。
$ javac HT17.java -d .
$ javac HT18.java -d .
$ java useFul.HT18
-d
用于提及使用包创建具有适当文件夹结构的编译类的位置。在示例中使用.
,表示使用当前目录。
答案 1 :(得分:0)
首先创建一个名为useFul的文件夹并将其复制到那里,然后使用cmd进行编译和运行。 cmd命令:
javac useFul/HT18.java
java useFul/HT18