Java 声明的包测试与预期的包不匹配

Java 声明的包测试与预期的包不匹配,java,class,package,Java,Class,Package,因此,我有以下代码: package test; import test.Pi; public class Demo { public static int pi = 3; public static void main (String args[]) { System.out.println("Hello!"); Pi.main(args); System.out.println("Hello again!"); }

因此,我有以下代码:

package test;
import test.Pi;
public class Demo {
    public static int pi = 3;   
    public static void main (String args[]) {
        System.out.println("Hello!");
        Pi.main(args);
        System.out.println("Hello again!");
    }
}
但是eclipse在第一行不断抛出一个错误,称“声明的包测试与预期的包不匹配”。 谢谢你的帮助!谢谢

这不是导入的问题-这意味着您试图声明该类(
Demo
)的包是
test
,但编译器错误表明您将它放在错误的位置-它放在源路径的根目录中,而不是在源根目录下名为
test
的目录中

三种可能的变化:

  • 不要把它放在
    测试
    包中;鉴于你问题的标题,不清楚你是否试图这样做。您不需要导入与要声明的类位于同一个包中的任何类

  • Demo.java
    移动到
    test
    文件夹中(如果还没有)

  • 如果
    Demo.java
    已在
    test
    文件夹中,请更改生成配置,使其父目录为源根目录

这不是导入的问题-这意味着您试图声明该类(
Demo
)的包是
test
,但编译器错误表明您将它放在错误的位置-它放在源路径的根目录中,而不是在源根目录下名为
test
的目录中

三种可能的变化:

  • 不要把它放在
    测试
    包中;鉴于你问题的标题,不清楚你是否试图这样做。您不需要导入与要声明的类位于同一个包中的任何类

  • Demo.java
    移动到
    test
    文件夹中(如果还没有)

  • 如果
    Demo.java
    已在
    test
    文件夹中,请更改生成配置,使其父目录为源根目录


-您收到的错误表明您使用了错误的软件包名称

-请查看,您是否在测试目录中。


-并请删除程序包名称前的`

-您收到的错误表明您使用了错误的程序包名称

-请查看,您是否在测试目录中。


-请删除程序包名称前的`

我可能需要澄清——我正试图使用导入函数引用不同程序包中的类。@user1470896:但您不在不同的程序包中,程序包声明说“package test;”@user1470896:但导致错误的不是导入-正如您自己所说,错误在第一行,这是一个
声明。抱歉,如果我有点厚,但我正在尝试从另一个包访问它。例如,package1/Demo.java试图访问test/Pi。java@Cowthulhu:那么我建议你问一个新问题,详细说明正在发生的事情。。。包括您的
Pi
类的外观。我可能应该澄清一下——我正试图使用导入函数引用不同包中的类。@user1470896:但您不在不同的包中,包声明说“包测试;”@user1470896:但导致错误的不是导入-正如您自己所说,错误在第一行,这是一个
声明。抱歉,如果我有点厚,但我正在尝试从另一个包访问它。例如,package1/Demo.java试图访问test/Pi。java@Cowthulhu:那么我建议你问一个新问题,详细说明正在发生的事情。。。包括您的
Pi
类的外观。