国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

高淇Java視頻代碼中,為啥使用Date類新建對象進行打印輸出的是時間,而使用自建對象打印輸出的卻是哈希碼地址?

瀏覽:152日期:2023-10-26 09:20:21

問題描述

最近看高老師視頻時發現一個知識點不太理解,代碼如下:

public class Test065 { public static void main(String[] args){Date d = new Date();//得到當前時間的毫秒數System.out.println(d);Dog a = new Dog();System.out.println(a); }}class Dog{ int age;}

輸出結果如下:

Thu Jun 15 19:43:29 CST 2017com.test065.Dog@33909752

同樣是打印一個對象,為什么Date類對象就是輸出當前時間,而自建對象就是輸出哈希碼呢?

小萌新求各位朋友解惑,非常感想!

問題解答

回答1:

Println方法會調用輸出對象的toString方法,如果對象沒有定義toString方法,就按照繼承鏈往父類找。Date有定義toString方法,所以輸出的是格式化的屬性信息。自定義的Dog類沒有toString方法,所以用的父類的toString方法,也就是Object的

回答2:

打印一個對象的時候,會打印出它的toString方法的返回值,Date重寫了toString方法。Dog沒有重寫toString則會調用父類Object的toString方法

回答3:

Date類重寫了Object父類中的toString(),你自己的類沒有啊。。。看下Date類的源碼

回答4:

重寫了toString方法,你可以自己到源碼中看。

標簽: java
主站蜘蛛池模板: 昂仁县| 郓城县| 上杭县| 深水埗区| 阿坝县| 祁门县| 东莞市| 泰州市| 弥渡县| 高淳县| 黑河市| 正镶白旗| 绥芬河市| 怀安县| 邮箱| 遵义市| 铜鼓县| 铁岭市| 扬州市| 南漳县| 鄂伦春自治旗| 佛学| 顺昌县| 涞源县| 虹口区| 云南省| 顺平县| 普定县| 自治县| 密云县| 漳浦县| 松溪县| 青铜峡市| 大安市| 平塘县| 汶上县| 抚顺县| 防城港市| 南阳市| 井陉县| 武山县|