当其他类只返回引用时,新Java.util.Date()如何工作?

当其他类只返回引用时,新Java.util.Date()如何工作?,java,constructor,reference,heap,java.util.date,Java,Constructor,Reference,Heap,Java.util.date,我很好奇为什么new Java.util.Date()会在堆上返回日期对象,而不是地址(引用): System.out.println(new Date()); //Should print address(reference) 堆上对象的类型 就像我所学的其他课程一样,例如: Cat cat = new Cat(); //new Cat() returns reference which is stored in cat; 如何在我的类中实现它?java.util.Date,与JDK中的

我很好奇为什么
new Java.util.Date()
会在堆上返回日期对象,而不是地址(引用):

System.out.println(new Date()); //Should print address(reference)
堆上对象的类型

就像我所学的其他课程一样,例如:

Cat cat = new Cat();  //new Cat() returns reference which is stored in cat;

如何在我的类中实现它?

java.util.Date,与JDK中的许多其他类一样,重写允许您控制对象的字符串表示形式


当然,您也可以为自己的类执行此操作。

重写
toString()
为什么您认为
new Date()
不会返回对堆上
Date
对象的引用?还要注意,不会打印出堆中对象的地址。它打印出对象的哈希代码,而不是它的地址。我一直认为引用是某种形式的地址,比如0x23232,日期可以是引用吗?@Override public String toString(){return“meow”;}工作起来就像一个符咒10/10会再次询问它为什么工作我需要稍后再弄清楚:P