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.Date
的toString()
实现不依赖于类的导入方式。 它总是返回一个很好的格式化日期。
你看到的toString()
来自另一个类。
特定导入优先于通配符导入。
在这种情况下
import other.Date import java.util.* new Date();
指的是other.Date
而不是java.util.Date
。
奇怪的是
import other.* import java.util.*
应该给你一个编译错误,说明对Date的引用是不明确的,因为other.Date
和java.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()方法对象的表示。