java使包重定向到另一个包
我想使一个包重定向到另一个包。例如,我有一个名为“packageA”的包和另一个名为“packageB”的包,导入packageA将导入packageB。我希望能够做到这一点,而不复制包。另外,如果导入了packageA而不是packageB,是否有任何方法可以运行方法
你可以在下面搜索框中键入要查询的问题!
我想使一个包重定向到另一个包。例如,我有一个名为“packageA”的包和另一个名为“packageB”的包,导入packageA将导入packageB。我希望能够做到这一点,而不复制包。另外,如果导入了packageA而不是packageB,是否有任何方法可以运行方法
# 1 楼答案
简短的回答是:没有
详细回答: 包是类的一部分,
import
语句在编译时被读取,而不是被解释。你需要的是一个扭曲的Java编译器。由于一些编译器是开源的,这可能是可以做到的,但不要指望找到这样的功能备选答案:如果您使用的是Netbeans、Eclipse等IDE,那么有很多重构工具可以帮助您将一个包名更改为另一个包名
# 2 楼答案
让我们看看
import
语句是如何工作的:首先,
import
只导入类或接口。它从不导入包。特别是导入名为
java.util
的包中的所有类和接口。这个包只是类和接口的容器,所以谈论“导入包”真的没有任何意义。包本身并不是编译或运行的东西话虽如此,谈论“重定向”毫无意义,因为你要重定向到什么?如果你想从“packageA”中导入一个类,直接导入即可
类似地,从packageA导入一个类可以让您访问它的类和方法。由于该类生活在packageA中,因此尝试从packageB导入它没有任何意义。即使packageB有一个同名的类,它们也是两个不同的类。事实上,这是Java包的主要原因:避免两个不同程序员编写的类的名称冲突
综上所述,您遇到了什么问题,您正试图通过“重定向导入”来解决