我正在尝试 Ivor Horton 的 Java 书中的以下代码,其中二维点是通过一个简单的类实现的。
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 类型的对象作为参数的构造函数中,新创建的 Point 对象可以直接访问参数 Point 对象的实例变量 x 和 y 。这意味着一个对象的私有成员(方法和变量)可以从同类型的另一个对象的内部方法中访问,除了同一个类中的方法。任何人都可以澄清这个问题,因为根据我的理解,arugment 对象的变量应该通过 getter 和 setter 访问,因为它们是私有的。