当前位置: 首页 > 面试题库 >

IllegalAccessError:访问受保护的方法

田成仁
2023-03-14
问题内容

我有两节课。

A具有受保护的方法m()a是的实例A

Class B与class在同一包中A

我正在尝试访问,a.m()但正在获取IllegalAccessError

怎么了?


问题答案:

编译器应该捕获这样的错误。当您显然在运行时得到此消息时,发生了一些奇怪的事情。可能您已更改了源代码,但已完全重新编译。

另一个潜在但晦涩的问题是通过不同的类加载器加载类。即使包名称相同,从不同的类加载器加载的类也将位于不同的包中(以与由不同的类加载器加载的具有相同名称的类相同的方式是不同的类)。



 类似资料:
  • 问题内容: 在下面的代码中,Consumer类可以访问Parent类的受保护方法。由于Parent和Consumer类之间没有关系,这怎么可能。 谢谢 问题答案: 表示:相同的包或通过继承。由于您的课程都在(实际上不建议使用),因此可以进行访问。顺便说一句:如果您尝试测试Java访问控制,则会忘记(= no修饰符= )。 另一方面,访问是指:从该特定类(以及仍然是主机类成员的非静态内部类)之外的任

  • 通过向资源服务器出示访问令牌,客户端访问受保护资源。资源服务器必须验证访问令牌,并确保它没有过期且其范围涵盖了请求的资源。资源服务器用于验证访问令牌的方法(以及任何错误响应)超出了本规范的范围,但一般包括资源服务器和授权服务器之间的互动或协调。 客户端使用访问令牌与资源服务器进行证认的方法依赖于授权服务器颁发的访问令牌的类型。通常,它涉及到使用具有所采用的访问令牌类型的规范定义的身份验证方案(如R

  • 问题内容: 我想了解以下示例中的情况(通过包从子类外部访问受保护的成员)。 我知道对于包外部的类,子类只能通过继承才能看到受保护的成员。 有两个包:和。 : : : 可以理解,中的方法可以访问,因为受保护的成员只能通过继承来访问。 我的问题是,为什么是方法,通过在基准访问时,工作正常的方法 ,但 将无法正常工作 通过访问时的参考? 问题答案: 该类中的代码被允许通过type的引用访问受保护的成员。

  • 问题内容: 我正在研究使用SQL LocalDB作为客户端数据库,它将替代.net 4中开发的内部应用程序中的当前SQL CE 3.5数据库。 我遇到了一个不确定的问题,那就是LocalDB实例的安全设置。 如果我在.net中设置了一个脚本来创建一个私有LocalDB实例,例如(localdb)\ T1,然后在该实例中创建了一个新数据库,并添加了一个SQL用户帐户+密码(非域帐户),如何停止本地使

  • 我有两个不同包的亲子班。我正在重写受保护类型的方法。我想访问子类中的超类保护方法。 考虑以下代码: 认为我是Java新手,并在main方法中提供替代comment的答案。

  • 从quarkus集装箱码头,我可以使用以下命令访问keycloak服务器 返回200状态;但无法访问受保护的资源。 我在这里做错了什么?