【问题标题】:How to import my own class?如何导入我自己的课程?
【发布时间】:2015-04-23 10:26:59
【问题描述】:

我有这个 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 ;
                ^

【问题讨论】:

    标签: java import package


    【解决方案1】:

    您的课程 myClass 也在名为 myClass 的包中,这可能会引起混淆。

    试试:

    import myClass.myClass;
    

    这称为类的完全限定名。

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

    您可以在项目名称之后命名您的包。例如,你可以命名它

    package assignment1;
    

    然后像这样导入你的类:

    import assignment1.myClass;
    

    【讨论】:

    • 非常感谢我的朋友,但我还有一个问题,如果我想在不打包的情况下导入 myClass 我必须做什么?
    • 你不需要为你的类定义一个包。只是不要使用一个:)
    【解决方案2】:

    虽然大家写的都是真的,但由于这两个文件在同一个目录下,所以不需要导入。

    仅供参考,习惯上将类名大写。

    【讨论】:

      【解决方案3】:

      最好在 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;
      

      之后,当您运行 Test 类时,请这样做;

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 我该怎么做?
        • 使用包的整个结构——从第一个包开始。如果你的班级在 3 个包中 - 写“import package1.package2.package3.ClassName;”。在您的情况下,它看起来像“import myClass.myClass;”。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2018-03-23
          • 2015-12-19
          • 2020-02-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多