有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使包重定向到另一个包

我想使一个包重定向到另一个包。例如,我有一个名为“packageA”的包和另一个名为“packageB”的包,导入packageA将导入packageB。我希望能够做到这一点,而不复制包。另外,如果导入了packageA而不是packageB,是否有任何方法可以运行方法


共 (2) 个答案

  1. # 1 楼答案

    简短的回答是:没有

    详细回答: 包是类的一部分,import语句在编译时被读取,而不是被解释。你需要的是一个扭曲的Java编译器。由于一些编译器是开源的,这可能是可以做到的,但不要指望找到这样的功能

    备选答案:如果您使用的是Netbeans、Eclipse等IDE,那么有很多重构工具可以帮助您将一个包名更改为另一个包名

  2. # 2 楼答案

    让我们看看import语句是如何工作的:

    首先,import只导入类或接口。它从不导入包。特别是

    import java.util.*
    

    导入名为java.util的包中的所有类和接口。这个包只是类和接口的容器,所以谈论“导入包”真的没有任何意义。包本身并不是编译或运行的东西

    话虽如此,谈论“重定向”毫无意义,因为你要重定向到什么?如果你想从“packageA”中导入一个类,直接导入即可

    类似地,从packageA导入一个类可以让您访问它的类和方法。由于该类生活在packageA中,因此尝试从packageB导入它没有任何意义。即使packageB有一个同名的类,它们也是两个不同的类。事实上,这是Java包的主要原因:避免两个不同程序员编写的类的名称冲突

    综上所述,您遇到了什么问题,您正试图通过“重定向导入”来解决