我想了解兩個具有相同名稱的方法之間的區別。這是我試圖理解代碼...對象變量類型是什麼意思?
public class Test {
public static void main(String[] args) {
MyPoint p1 = new MyPoint();
MyPoint p2 = new MyPoint(10, 30.5);
System.out.println(p1.distance(p2));
System.out.println(MyPoint.distance(p1, p2));
}
}
class MyPoint {
.....
}
public double distance(MyPoint secondPoint) {
return distance(this, secondPoint);
}
public static double distance(MyPoint p1, MyPoint p2) {
return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}
可能有人請解釋2種distance()
方法之間的差異。 MyPoint
實際上是什麼意思?爲什麼1個方法有一個MyPoint
對象,而另一個方法有2個MyPoint
對象?
尷尬的問,但爲什麼在參數中可以包含類名,但不是像String或int類型? – 2012-04-08 08:29:56
它也可以包含。如果它的東西像一個int或一個布爾值,它指的是原始類型的數據,如簡單數字或真/假。如果它像String,MyPoint或任何其他類名一樣,則表示它是一種對象類型,它可能比簡單的原始數據類型更復雜 – wattostudios 2012-04-08 08:45:29
我知道我誤解的地方。非常感謝你。 – 2012-04-08 09:04:31