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

我只想输出电流而且我写了

import java.util.*; 

在开始时,和

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

在主要部分。

但我得到的是这样的:

 Date@124bbbf 

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

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

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

嗯,这完全是我的错,我把所有人都弄糊涂了; P

谢谢以下所有人。 这真的很好你;)

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

或者更好,尽量避免命名您的类“日期”。

java.util.DatetoString()实现不依赖于类的导入方式。 它总是返回一个很好的格式化日期。

你看到的toString()来自另一个类。

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

在这种情况下

 import other.Date import java.util.* new Date(); 

指的是other.Date而不是java.util.Date

奇怪的是

 import other.* import java.util.* 

应该给你一个编译错误,说明对Date的引用是不明确的,因为other.Datejava.util.Date匹配。

 import java.util.*; 

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

 import java.util.Date; 

只需导入Date类。

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

你的程序应该与import java.util。*完全相同 或者导入java.util.Date; 。 你必须在其中做一些其他事情。

 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()方法对象的表示。