如何导入我自己的课程?

时间:2015-02-21 20:38:57

标签: java import package

我有这个java类:

package myClass;
public class myClass 
{
    private int herAge ;
    public void setHerAge (int herAge)
    {
        this.herAge = herAge ; 
    }
}

我希望在同一个目录中存在名为Test.java的另一个源文件中编译后导入该类,这里是Test.java包含的内容:

import myClass ;
public class Test
{
    public static void main (String []args)
    {
    myClass Rudaina = new myClass();
    Rudaina.setHerAge(30);
    }
}

当我编译Test.java时,我在我的控制台中看到了这个:

Test.java:1: error '.' expected
import myClass ;
              ^
Test.java:1: error '.' expected
import myClass ;
                ^

5 个答案:

答案 0 :(得分:6)

您的班级myClass也在名为myClass的程序包中,这可能会导致混淆。

尝试:

import myClass.myClass;

这称为类的完全限定名称

包用于对概念上相关的类进行分组。拥有以单个类命名的包不是很有用。

您可以在项目名称后面命名您的包裹。例如,你可以命名为

package assignment1;

然后像这样导入你的课程:

import assignment1.myClass;

答案 1 :(得分:2)

虽然每个人写的都是真的,因为这两个文件在同一个目录中,所以不需要导入。

仅供参考,习惯上将班级名称大写。

答案 2 :(得分:0)

您应该使用整个班级名称 - 包括包裹的名称。

答案 3 :(得分:0)

您缺少包名称。试试import myClass.myClass;

答案 4 :(得分:0)

最好在 Test.java 文件顶部放置与下面提到的相同或不同的包名称;

package myClass; //or some other name also viable

然后编译的时候就可以这样了;

javac -d . myClass.java
javac -d . Test.java

-d 指定放置生成的类文件的目的地。您可以使用任何目录名称,如 /home(在 Linux 的情况下)、d:/abc(在 Windows 的情况下)等。如果您想将包保留在同一目录中,您可以使用 .(点)。

然后像这样在Test.java中使用import语句;

import myClass.*;

import myClass.myclass;

之后,当你运行测试类时,这样做;

java myClass.Test  //myClass in here is package name if you use some different package name use that