9

我有一个 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"

我不明白为什么会这样,有人能给我一些关于这个问题的见解吗?...

4

3 回答 3

15

我假设您正在尝试EntityDrawer在另一个包中使用包本地类,这是您无法做到的。

尝试上课public

于 2011-04-28T16:05:25.137 回答
6

创建类public或将调用类移动到同一个包。

于 2011-04-28T16:06:43.353 回答
2

我也对这个问题感到恼火,我删除了不必要的 jar 文件并在类路径中只添加了所需的 jar 文件。有时,如果您将多余的 jar 文件放在类路径中,会导致 jar 文件冲突并显示错误(例如“ org.apache.lucene.index.DirectoryReader类型不可见”)。

谢谢你。

于 2014-03-01T18:06:04.673 回答