在同一个包中创建类的Object

时间:2015-08-19 06:19:43

标签: java package access-specifier

我创建了一个类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 解决方案会有所帮助!

2 个答案:

答案 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