假设我有一个类,我想通过使用Scanner来获取输入:
import java.util.Scanner;
import java.util.*;
public class Test
{
public static void main(String[] args)
{
System.out.print("Enter a int: ");
int input = new Scanner(System.in).nextInt();
System.out.println("You've entered: " +input);
}
}
在上面的程序中,我一次使用两个 import语句:
(1)具有完全限定的班级名称
(2)在包util中导入整个项目。
现在我的问题是:
(1)Java编译器更喜欢使用哪种语句,因为两个import语句在上面的上下文中产生了几乎相似的含义。
(2)什么机制决定选择哪个导入语句,如何以及为什么?
P.S: 我知道使用上述方法是编写代码的一种丑陋方式,我们很难在现实生活中体验过这种方法,但在这种情况下了解java的内部工作是很好的。