Java secondary not public 类的使用会产生错误 "Type is not Visible",即使访问的方法在主类中是公共(public)的

标签 java class encapsulation public-fields

我有一个 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 访问其中一个属性(即使是公共(public)属性),它也不起作用:

Main main = new Main();
main.getEntityDrawer().getEmpleado(); // Gives error "The type EntityDrawer is not visible"

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

最佳答案

我假设您正在尝试在另一个包中使用包本地类 EntityDrawer,但您不能这样做。

尝试让类public

关于Java secondary not public 类的使用会产生错误 "Type is not Visible",即使访问的方法在主类中是公共(public)的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821546/

相关文章:

swift - Swift 中函数声明和定义的分离

java - 收到错误并重新订阅

ruby - 为什么 Ruby 中的 MyClass.class.superclass 是 Module

Java Applet 类文件

ios - 防止重复输入消息

c# - C# 程序员如何使用 javascript 编写解决方案?

java - 如何在我的 Java 代码中使用多线程/并发

java - 计算器 Try and Catch Java 程序

java - 如何将 Java Map 转换为基本的 Javascript 对象?

java - 在Java中将消费者用作设置者,将供应商用作获取者是不好的做法吗?