我创建了一个类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
解决方案将是有帮助的!
最佳答案
很可能您正在使用javac <file name>
,即使您已定义包,它也会在同一文件夹中创建类文件。
因此,您必须使用javac -d .
选项,这将为类创建正确的文件夹结构。请尝试以下方法。
$ javac HT17.java -d .
$ javac HT18.java -d .
$ java useFul.HT18
-d
用来表示在何处使用package创建具有正确文件夹结构的已编译类。在示例中,使用.
表示使用当前目录。