我想了解两个具有相同名称的方法之间的区别。这是我试图理解代码...对象变量类型是什么意思?
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