[問題] 物件的問題

看板java作者 (9527)時間19年前 (2007/01/12 09:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
//修改物件的屬性 class MyPoint { protected double x; protected double y; MyPoint() { setX(0); setY(0); } MyPoint(double x, double y) { setX(x); setY(y); } public void setX(double x) { this.x = x; } public void setY(double y) { this.y = y; } public double x() { return x; } public double y() { return y; } public String toString() { return "[" + x + "," + y + "]"; } } class MyLine { private MyPoint pt1, pt2; MyLine(MyPoint pt1, MyPoint pt2) { this.pt1 = pt1;//對物件設值 this.pt2 = pt2;//對物件設值 } public double getMyLineLength() { return Math.sqrt((pt2.x() - pt1.x()) * (pt2.x() - pt1.x()) + (pt2.y() - pt1.y()) * (pt2.y() - pt1.y())); } public String toString() { return "point1:" + pt1 + ",point2:" + pt2; } } public class Demo108 { public static void main(String[] args) { MyPoint pt1 = new MyPoint(1, 1); MyPoint pt2 = new MyPoint(2, 2); MyLine line1 = new MyLine(pt1, pt2); System.out.println("line1 = " + line1); //修改物件的屬性,使物件的內部狀態發生變化 //就是對物件設值 pt1.setX(0); pt1.setY(0); System.out.println("修改了線段起點以後"); System.out.println("line1 = " + line1); } } 我的問題是 當中並沒有呼叫 toString()這個函數 請問為什麼會執行到當中的值呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.132.122
文章代碼(AID): #15fkgU4r (java)
文章代碼(AID): #15fkgU4r (java)