gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:36 25 4
gpt4 key购买 nike

是否可以在java中导入并使用两个同名同包的不同类?

例如,假设我有两个名为“com.foo.Bar”的类,它们略有不同。我希望能够同时使用两者,但我有一个限制(因为愚蠢的反省废话)迫使我保持​​名称和包相同。

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

详细来说,我以不应该更改的方式更改了我的 avro 模式(哎呀!),现在我想返回并更改无法用我的新文件读取的旧 avro 文件模式转换为我的新模式可以读取的文件。 Avro 似乎强制您使用特定的类和包名称来加载文件。

最佳答案

是的。您需要实现自己的类加载器并玩一些游戏才能在运行时访问这两者。

我确信这是可能的,因为我遇到了一个非常难以调试的问题,有人在他们的产品中有一个奇怪的类加载器,它会搞乱加载库并提供来自 2 个不同版本的同一文件的 2 个不同版本图书馆。

但是,这听起来像是一个令人难以置信的坏主意。我会回去寻找解决问题的不同方法。从长远来看,这只会让你心痛。哎呀,当您研究类加载器时,它可能已经是了。

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

关于java - 可以使用两个具有相同名称和相同包的 java 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6879652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com