在我的Java学习期间,我尝试了这段编译和编写的代码。跑得很成功。任何人都可以提供一个解释,为什么编译器没有生成任何错误?我导入了完整的包,其中包括java.util> Scanner,所以不应该有一个错误,扫描仪已经在util包&我想在这里重新定义它?
import java.util.*;
class Scanner
{
public static void main(String... args)
{
Scanner c = new Scanner();
}
}
我的Java基础知识不是很清楚,如果这看起来完全是一个noob的问题,并且在这个论坛上没有任何问题,所以我想更好地问它。
答案 0 :(得分:-1)
一个类不仅由它的名称定义,而且还由它的包定义。
在您的情况下,您有两个不同的类:
对于编译器,这些类是不同的,这就是没有出现编译错误的原因。
有关代码示例和可能的用例的更长答案,请查看此处:Importing two classes with same name. How to handle?