什么是进口的java.util之间的差异*。 和进口java.util.Date; ?(Wha

2019-09-02 13:52发布

我只是想输出电流和我写的

import java.util.*;

在开始,

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

在主要部分。

但我得到的是这样的:

Date@124bbbf

当我改变了进口到import java.util.Date; 代码工作完美,为什么呢?

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

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

嗯,这是我的错,我周围的每个人都感到困惑,P

并感谢大家在下面。 这是你非常好的;)

Answer 1:

你可能有一些其他的“日期”类地方导入(或你有你包,它并不需要进口一个Date类)。 随着“进口的java.util。*”您使用的是“其他”日期。 在这种情况下,最好在代码中明确指定java.util.Date。

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



Answer 2:

toString()实现java.util.Date并不依赖于类是进口的方式。 它总是返回一个很好的格式化的日期。

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

具体进口有超过通配符进口的优先级。

在这种情况下

import other.Date
import java.util.*

new Date();

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

奇怪的是,

import other.*
import java.util.*

如果给你一个编译器错误,指出参考日期是模糊的,因为这两个other.Datejava.util.Date匹配。



Answer 3:

import java.util.*;

进口的java.util中的一切,包括Date类。

import java.util.Date;

只是进口Date类。

做任何这些不能作出任何区别。



Answer 4:

你的程序应该工作,无论是进口java.util中的一模一样*。进口java.util.Date; 。 必须有别的东西,你做之间英寸



Answer 5:

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。 您在打印对象时得到的输出是由相应的类的toString()方法的对象的表示。



文章来源: What's the difference between import java.util.*; and import java.util.Date; ?
标签: java import