import java.util。*之间有什么区别?并导入java.util.Date; ?

时间:2009-10-30 12:08:13

标签: java import

我只想输出电流而我写了

import java.util.*;

开头,

System.out.println(new Date());

在主要部分。

但我得到的是这样的:

Date@124bbbf

当我将导入更改为import java.util.Date;时代码完美无缺,为什么?

====================================

问题是,好吧,我的源文件是“Date.java”,这就是原因。

嗯,这完全是我的错,我让所有人感到困惑; P

感谢下面的每个人。这真的很好你;)

5 个答案:

答案 0 :(得分:12)

您可能在某处导入了其他“Date”类(或者您的包中有Date类,不需要导入)。使用“import java.util。*”,您正在使用“其他”日期。在这种情况下,最好在代码中明确指定java.util.Date。

或者更好的是,尽量避免将类命名为“Date”。

答案 1 :(得分:5)

toString()的{​​{1}}实现不依赖于类的导入方式。它总是返回一个很好的格式化日期。

您看到的java.util.Date来自另一个班级。

特定导入优先于通配符导入。

在这种情况下

toString()

指的是import other.Date import java.util.* new Date(); 而不是other.Date

奇怪的是

java.util.Date

如果import other.* import java.util.* other.Date匹配,则应该给您一个编译错误,指出对Date的引用不明确。

答案 2 :(得分:4)

import java.util.*;

导入java.util中的所有内容,包括Date类。

import java.util.Date;

只需导入Date类。

做其中任何一个都没有任何区别。

答案 3 :(得分:2)

您的程序应与 import java.util。*; import java.util.Date; 完全相同。你必须要做其他事情。

答案 4 :(得分:0)

but what I got is something like this: Date@124bbbf  
while I change the import to: import java.util.Date;  
the code works perfectly, why? 

“完美运作”是什么意思?无论是否导入java.util。*或java.util.Date,打印Date对象的输出都是相同的。打印对象时获得的输出是对象类的toString()方法对象的表示。