Java编译器抱怨完全有效的语法

Java编译器抱怨完全有效的语法,java,syntax,compiler-construction,Java,Syntax,Compiler Construction,我的大多数导入语句都有一个这样的语句,但它在语法上都很好 完全错误: 文件快照: 文件或多或少是封闭源代码的,但大多数问题只是导入语句和switch语句。包语句必须在文件中的第一位,甚至在导入之前。请参阅 请注意完全限定名称的示例: 下面是前面示例中图形包中声明的矩形类的完全限定名 图形.矩形 第一部分,graphics,是软件包的名称。第二部分,Rectangle是类的名称 不能导入与您位于同一个包中的类。没有理由这样做;您已经可以访问它了。如果它位于不同的包中,则需要将您的导入更改为以下内容

我的大多数导入语句都有一个这样的语句,但它在语法上都很好

完全错误: 文件快照:
文件或多或少是封闭源代码的,但大多数问题只是导入语句和switch语句。

包语句必须在文件中的第一位,甚至在导入之前。

请参阅

请注意完全限定名称的示例:

下面是前面示例中图形包中声明的矩形类的完全限定名

图形.矩形

第一部分,
graphics
,是软件包的名称。第二部分,
Rectangle
是类的名称

不能导入与您位于同一个包中的类。没有理由这样做;您已经可以访问它了。如果它位于不同的包中,则需要将您的导入更改为以下内容:

reifnsk/minimap/ReiMinimap.java:68: error: '.' expected
import ro;
         ^
reifnsk/minimap/ReiMinimap.java:68: error: ';' expected
import ro;
          ^
reifnsk/minimap/ReiMinimap.java:69: error: class, interface, or enum expected
import sb;
       ^
如果您知道要使用包中的每个类,请使用
*
导入:

import myPackage.ro;

您正在尝试从命名包中的类导入默认包中的类。这是行不通的(至少在没有思考的情况下)。为了使用它们,导入的类必须放在命名包中,或者类本身应该放在默认包中


有关详细信息,请参阅。

您尝试导入的软件包有哪些?不需要完整错误,并且文件快照没有有用的信息。您是否可以在出现代码的类中显示代码(从文件开始到
类名称
)请注意,在正确的情况下使用时,您可以有一行语法正确的代码,而在不正确的情况下使用时,这行代码仍然会给您带来编译错误。处理一个程序不仅仅是语法,我不同意结束的理由。问题不能重现是什么意思?它是完全可复制的:将一些类放入默认包,然后尝试从命名包中的类导入它们。我决不会想到这一点;我从不使用默认包。@Quincunx我认为由于命名方案,这些类在默认包中。它立即让我想起了一些混淆,通常将大多数类放在默认包中。截图显示我的假设是正确的。我删除了包语句并将其移动到项目的根文件夹中,但它仍然不想work@user3209348如果该文件现在在默认包中,您将不再需要导入,因此也只需删除它们。
import myPackage.*;