[問題] 自訂類別繼承Object的問題

看板java作者 (Fru:z)時間19年前 (2006/06/01 17:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
事情是這樣的 學到String時 看到一個範例 大概長得像這樣 String s1 = new String("hey"); String s2 = new String("hey"); System.out.println(s1 == s2); <-- 這個return false System.out.println(s1.equals(s2)); <-- 這個return true 以上的東西我都自以為了解了 ( == 是在比較是否s1,s2指到同一個物件的instance 而equals()是在比較其內容) 那麼今天 我看到這句話: "物件一律繼承Object" 那很巧的 Object裡有一個memeber function叫 equals 那我就用我寫的很簡單的一個object 叫 Ball (參考學習筆記的範例) Ball.java 長成這樣 ============================ public class Ball{ private double radius; private String name; public Ball(){ this(0.0, "no-name"); } public Ball(double radius, String name){ this.radius = radius; this.name = name; } public double getRadius(){ return radius; } public String getName(){ return name; } public void setRadius(double radius){ this.radius = radius; } public void setName(String name){ this.name = name; } } =================================================== 但是問題來了 當我 Ball b1 = new Ball(18.4, "red ball"); Ball b2 = new Ball(18.4, "red ball"); 然後 System.out.println(b1 == b2); <-- 這個false我能理解 畢竟兩個不同物件 System.out.println(b1.equals(b2)); <-- 這個false我就不能理解了 它不是比較這兩個物件的內容是否相同嗎? 這個問題請教版上先進 感謝 -- 這個世界多美麗 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.71.57
文章代碼(AID): #14VhP72X (java)
文章代碼(AID): #14VhP72X (java)