同じ名前の2つのメソッドの違いを理解しようとしています。これは私が理解しようとしていたコード...オブジェクト変数の種類は何を意味しますか?
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つのメソッドに1つのMyPoint
オブジェクトがあるのに対して、2つのメソッドには2 MyPoint
というオブジェクトがあるのはなぜですか?
尋ねるのは恥ずかしいですが、なぜパラメータにはclassnameを含めることができますが、Stringやintのような型は含まれないのですか? –
どちらかを含めることができます。 intやbooleanのようなものであれば、シンプルな数字や真偽などのプリミティブなデータ型を指しています。 String、MyPoint、または他のクラス名のようなものであれば、単純なプリミティブ型のデータよりも複雑なオブジェクトの型を意味します – wattostudios
私は誤解されている箇所を知っています。どうもありがとうございました。 –