Java 无法访问包中的类
我有以下目录结构:Java 无法访问包中的类,java,package,packages,Java,Package,Packages,我有以下目录结构: MessManagement是父目录 在该目录下,我有3个目录: 学生,信息召集人,信息管理人 学生目录包含student.java和student.class文件。mesconverter包含mesconverter.java这需要Student类,因为mesconverter是从Student本身扩展而来的 我应该如何包装这些类 到目前为止我都试过了 代码: 这是Student.java package MessManagement; import java.sql.*;
MessManagement
是父目录
在该目录下,我有3个目录:
学生
,信息召集人
,信息管理人
学生目录包含student.java
和student.class
文件。mesconverter
包含mesconverter.java
这需要Student类
,因为mesconverter
是从Student
本身扩展而来的
我应该如何包装这些类
到目前为止我都试过了
代码:
这是Student.java
package MessManagement;
import java.sql.*;
public class Student
{
}
package MessManagement;
import MessManagement.student.Student;
public class MessConvener extends Student
{
}
这是mesconverner.java
package MessManagement;
import java.sql.*;
public class Student
{
}
package MessManagement;
import MessManagement.student.Student;
public class MessConvener extends Student
{
}
但这似乎不起作用。错误:
MessConventer.java:2:错误:包MessManagement.student不存在
导入mesmanagement.student.student;
^
MessConverner.java:3:错误:找不到符号
公共班级召集人扩大学生人数
^
符号:班级学生
2个错误
发生这种情况可能有两个原因
你所犯的错误是有道理的。
Student
类位于MessManagement
包中,而不是MessManagement.Student
包中
因此,在MessManagement
中删除导入的Student
,或者将Student
中的包名更改为MessManagement.Student
对我来说,我得到这个错误是出于不同的原因,这是在一个maven项目中。在我对类进行了重大更改并复制了许多新类之后,这种情况就开始出现了。在您的案例中,没有冲突的包名称 解决方案是进行
mvn清理
在这之后,我再也没有遇到这个错误。我最近遇到了这个问题,这是因为我编译的java文件所在的目录中有一个类文件。您需要删除该目录中的所有.class文件 我删除了文件夹,问题就解决了对我来说,这是在将java更新到jdk_16之后发生的
在我更改了“.idea”文件夹中的“misc.xml”文件后,问题就解决了。
将languageLevel=“JDK_15”更改为languageLevel=“JDK_16”。您使用的是什么IDE?我使用的是UBUNTU中的终端。您如何编译此代码?查看您的错误消息,我认为这是一个简单的类路径问题。当您试图编译类路径时,需要在javac命令中指定它。。因此,我们可以更好地帮助您..在编译MessConventer.java类之前,您是否先编译Student.java类?如何包含类路径..?感谢Maved提示!我还抄了一些课。点击IntelliJ(“重新导入所有Maven项目”)中的蓝色Maven刷新按钮就足够了。ok mvn clean是一个超级提示,当我打开IntelliJ内部的终端键入mvn clean时,IntelliJ突然恢复了自我并开始识别我的类。。。