10.3 将对象用作参数
可像通常那样将对象作为参数进行传递,例如:
public static void printPoint(Point p) {System.out.println("(" + p.x + ", " + p.y + ")");}
这个方法接受一个 Point 参数,并在括号中显示其属性。如果调用 printPoint(blank),它将显示 (3, 4)。
然而,我们并不需要 printPoint 这样的方法,因为调用 System.out.println(blank) 将得到如下输出:
java.awt.Point[x=3,y=4]
Point 对象提供了一个名为 toString 的方法,该方法返回点的字符串表示。以对象为参数调用 println 时,将自动调用 toString 并显示结果。这里显示的是类型名(java.awt.Point)以及属性的名称和值。
再来看一个例子。可将 6.2 节中的方法 distance 重写成将两个 Point 对象而不是四个 double 值作为参数:
public static double distance(Point p1, Point p2) {int dx = p2.x - p1.x;int dy = p2.y - p1.y;return Math.sqrt(dx * dx + dy * dy);}
将对象作为参数可让源代码更易理解且不易出错,因为相关的值被关联起来了。
