import mypack.Print;
import anotherpack.*;
class Main{
public static void main(String[] args) {
System.out.println(Print.print("ab"));
}
}
在这里,MyPack
包的类print
具有方法print()
,另外,AnotherPack
包的类print
具有方法print()
。 那么main
类将调用哪个包的print()
方法,为什么?
你可以这样做:
import mypack.Print as MyPrint;
import anotherpack.*;
System.out.println(Print.print("ab"));
System.out.println(MyPrint.print("ab"));
我知道这不是你问题的答案,但应该可以解决与你问题有关的问题。
编辑:
您将始终使用第一个导入,因为第二个没有被导入,因为已经有了一个打印类。 尝试:
import firstfolder.Print;
import secondfolder.Print;
结果如下:
The import secondfolder.Print collides with another import statement Java(268435842)
下面是您的代码将执行的代码示例。
import firstfolder.Print;
import secondfolder.*;
public class PrintTest {
public static void main(String[] args) {
System.out.println(Print.print("1"));
System.out.println(firstfolder.Print.print("2"));
System.out.println(secondfolder.Print.print("3"));
}
}
package firstfolder;
public class Print {
public static String print(String input) {
return ("first imported fct: " + input);
}
}
package secondfolder;
public class Print {
public static String print(String input) {
return ("second imported fct: " + input);
}
}
产出
first imported fct: 1
first imported fct: 2
second imported fct: 3