Ivor Horton の Java book から次のコードを試しています。このコードでは、単純なクラスを介して 2 次元の点が実装されています。
public class Point
{
//x and y coordinates
private xVal,yVal;
//Constructor
public Point (double x, double y)
{
this.xVal = x;
this.yVal = y;
}
//Constructor
public Point (final Point aPoint)
{
this.xVal = aPoint.xVal;
this.yVal = aPoint.yVal;
}
}
さて、私が理解していない点は、タイプ Point のオブジェクトを引数として取る 2 番目のコンストラクターで、新しく作成された Point オブジェクトが、引数 Point オブジェクトのインスタンス変数 x および y に直接アクセスできることです。これは、オブジェクトのプライベート メンバー (メソッドと変数) が、同じクラス内のメソッドに加えて、同じ型の別のオブジェクトのメソッド内からアクセスできることを意味します。私の理解によれば、引数オブジェクトの変数はプライベートであるため、ゲッターとセッターを介してアクセスする必要があるため、誰でも問題を明確にしてください。