如何导入我自己的 class?

How to import my own class?

我有这个 java class :

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 ;
                ^

您的 class myClass 也在名为 myClass 的包中,这可能会造成混淆。

尝试:

import myClass.myClass;

这称为 class 的完全限定名称。

一个包是为了将概念上相关的 class 分组。以单个 class 命名的包不是很有用。

您可以用您的项目名称来命名您的包。例如,您可以将其命名为

package assignment1;

然后像这样导入您的 class:

import assignment1.myClass;

您应该使用整个 class 名称 - 包括包的名称。

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

虽然大家写的都是真的,但是因为这两个文件在同一个目录下,应该不需要导入。

仅供参考,习惯上 类.

的名字大写

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

package myClass; //or some other name also viable

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

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

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

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

import myClass.*;

import myClass.myclass;

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

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