加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

可以使用两个具有相同名称和相同包的java类?

发布时间:2020-12-14 16:28:25 所属栏目:Java 来源:网络整理
导读:可以在 java中导入和使用具有相同名称和包的两个不同类吗? 例如,假设我有两个名为“com.foo.Bar”的类略有不同.我希望能够使用这两者,但是我有一个限制(因为愚蠢的反光垃圾),迫使我保持??名称和包装相同. 是否有一些java的功能,将允许我导入和隔离这些类中
可以在 java中导入和使用具有相同名称和包的两个不同类吗?

例如,假设我有两个名为“com.foo.Bar”的类略有不同.我希望能够使用这两者,但是我有一个限制(因为愚蠢的反光垃圾),迫使我保持??名称和包装相同.

是否有一些java的功能,将允许我导入和隔离这些类中的每一个?

要详细说明,我改变了我的avro模式,他们不应该被改变(哎呀!),现在我想回去改变旧的avro文件,不能用我的新模式读取到文件这可以通过我的新模式读取. Avro似乎强制您使用特定的类和包名来加载文件.

解决方法

就在这里.您需要实现自己的Classloader并玩一些游戏才能在运行时访问.

我确信这是可能的,因为我遇到一个很难调试的问题,其中有人在他们的产品中有一个奇怪的Classloader,这是搞乱加载库,并从2个不同版本的库提供了两个不同版本的同一个文件.

然而,这听起来像是一个令人难以置信的坏主意.我会回去找一种解决你的问题的不同方法.这只会让你心痛的长期.当你调查类加载器时,可能已经是这样了.

编辑:具体来说,您不能“导入”.但是您可以在运行时访问两者.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读