我有一个Main.java文件:
public class Main{
private EntityDrawer entityDrawer;
public void setEntityDrawer(EntityDrawer entityDrawer) {
this.entityDrawer = entityDrawer;
}
public EntityDrawer getEntityDrawer() {
return entityDrawer;
}
}
class EntityDrawer {
private Empleado empleado;
public Empleado getEmpleado() {
return empleado;
}
public void setEmpleado(Empleado empleado) {
this.empleado = empleado;
}
}
如果我尝试从另一个文件访问,如果我只尝试访问entityManager,它就可以工作:
Main main = new Main();
main.getEntityDrawer(); // NO PROBLEM!
但是如果我尝试从entityManager访问其中一个属性(即使是公共的),它就不起作用:
Main main = new Main();
main.getEntityDrawer().getEmpleado(); // Gives error "The type EntityDrawer is not visible"
我无法理解为什么会发生这种情况,有人能让我对这个问题有所了解吗?...
答案 0 :(得分:10)
我假设您正在尝试在另一个包中使用包本地类EntityDrawer
,这是您无法做到的。
尝试制作课程public
答案 1 :(得分:5)
创建类public
或将调用类移动到同一个包。
答案 2 :(得分:2)
我也对此问题感到恼火,我删除了不必要的jar文件,并在类路径中只添加了必需的jar文件。有时,如果你在类路径中放入多余的jar文件会导致jar文件冲突并且会显示错误(例如“类型 org.apache.lucene.index.DirectoryReader 不可见” )。
谢谢。