见以下代码
public class Main {
public static void main(String[] args){
Test b = new Test();
Scanner scanner = new Scanner(System.in);
double x = scanner.nextDouble();
double y = scanner.nextDouble();
Test a = new Test(x,y);
System.out.println(a.method(b));
}
}
public class Test {
private double x;
private double y;
public Test(){
}
public Test(double x,double y){
this.x=x;
this.y=y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double method(Test b){
return (this.x-b.getX())+(this.y-b.getY());
}
}
(this.x-b.getX())+(this.y-b.getY())是什么意思·?这里的this是指代什么?为什么this.x与this.y和a.x和a.y的值一样
如果传入两个对象,如下:
System.out.println(a.method(a,b));
public double method(Test a,Test b){
return (a.getX()-b.getX())+(a.getY()-b.getY());
}
为什么不用getter方法一样可以,不会报错呢?
而且,把a.method(a,b)改成b.method(a,b)也可以,这又是为什么?