class A{
private int x,y;
public A(int x,int y){
this.x=x;
this.y=y;
}
public A(A p){
x=p.x;
y=p.y;
}
double Distance(A p){
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
int getX(){
return x;
}
int getY(){
return y;
}
}
class Test{
public static void main(String[] argv){
A r1=new A(1,2);
A r2=new A(r1);
System.out.println("r1: "+r1.getX()+","+r1.getY());
System.out.println("r2: "+r2.getX()+","+r2.getY());
System.out.println("r1 r2 distance: "+r1.Distance(r2));
}
}以上程序运行正确
被private修饰的变量是私有变量,只能在所在类中能访问,那为什么在构造方法public A和方法double distance中能访问到被传递过来的实例的x,y值?
请解释一下?