当其他类只返回引用时,新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