我有两个具有相同类名并使用相同包名的类。但是,这两个类文件位于不同的目录中。两者之间的另一个不同之处是每个类中的方法都没有出现在另一个类中。本质上,我想将方法拆分为两个使用相同名称但不同文件夹的单独文件。
理论上我认为这是可能的,因为Java编译器在构建输出时确实维护了目录结构。所以在运行时,如果在类中调用了一个方法,那么Java可能会在具有该方法的文件中找到该方法。
这甚至可能吗?我使用的是IntelliJ,它似乎只允许我选择一个类文件,但不能同时解析一个方法。
答案 0 :(得分:3)
不,这是不可能的。 Java不会“寻找方法”,它将通过完全限定名称解析单个.class文件,在那里查找方法,如果不存在则抛出异常。您需要找到一种将代码拆分为多个类的不同方法。
答案 1 :(得分:0)
如果这些类位于不同的包中,则可以通过添加限定符来实现。
@Qualifier(“ yourClassQualifierName1”)
@Qualifier(“ yourClassQualifierName2”)