无法访问包中的类

PRP*_*PRP 2 java packages package

我有以下目录结构:

MessManagement 是父目录.

在我有3个目录: student,messconvener,messmanager

student目录包含Student.javaStudent.class文件.该messconvener包含MessConvener.java这需要Student class作为MessConvener 扩展Student本身.

我应该怎么做类的包装.... ??

到目前为止我尝试了什么.

代码:

这是 Student.java

package MessManagement;
import java.sql.*;

public class Student
{

}
Run Code Online (Sandbox Code Playgroud)

这是 MessConvener.java

package MessManagement;
import MessManagement.student.Student;
public class MessConvener extends Student
{

}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.错误Meesage:

MessConvener.java:2: error: package MessManagement.student does not exist import MessManagement.student.Student; ^ MessConvener.java:3: error: cannot find symbol public class MessConvener extends Student ^ symbol: class Student 2 errors

sma*_*c89 13

你得到的错误是有道理的.本Student类位于MessManagement包不MessManagement.student包.


对我来说,出于不同的原因我得到了这个错误,这是在一个maven项目中.它在我对类进行了重大更改并复制到许多新类之后开始出现.在您的情况下,没有冲突的包名称.

解决方案是这样做的Student.

在此之后,我再也没有得到那个错误.


Jen*_*der 2

发生这种情况有两个可能的原因

  1. 您的目录的根目录是否包含在类路径中?启动java程序时需要指定。请参阅有关如何执行此操作或适用于 unix 的此变体的文档

  2. 你们的课程是公开的吗?如果忘记 public 修饰符,类将具有包可见性,并且无法从其他包访问。

  3. 哦,好吧,没人会想到西班牙宗教裁判所……仔细检查你的拼写,包括大写字母。

  • 我如何包含类路径..? (2认同)