java关于Complex类,程序有一部分不清楚什么意思,希望解释一下


class Complex{   
 double xyComplex (doublex) {
    this .x=xthis .y=0//为什么要赋值为0
}
complex (double xdouble y){
    this .x=xthis .y=y;
}
public Complex add(Complex Z) {
    double aa=x+Z.xdouble bb=y+Z.y;
    returnnew Complex (aabb) ;
}
public Complex sub(Complex Z) {
    double a a=x-Z.Xdouble bb=y-Z.y;
    returnnew Complex (aabb) ;
}
public Complex mult(Complex Z) {
    double aa=x*Z.x-y*z.y//这两步求差看不懂
    double bb=y*2.×+×*2.y//看不懂
    returnnew Complex (aabb) ;
}
public String toString () {
//i不太清楚if语句的这部分
    if(y==0){
    return ""+x;
}
if(y>0){
    return ""+x++"+y+"i";
}
    return ""+x+"-+(-y)+"i";
}
}
//上面的
class Test Complex{
    public static voidmain( String[] args) {
    Complex c1=new Complex (-23) ;
    CompIex c2=new complex (4-5) ;
    Complex ac=c1.add(c2) ;
    Complex sc=c1.sub(c2) ;
    Complex mc=c1.mult(c2) ;
system .out.printIn(“两数之和:“+ac.tostring())i
System .out.println("两数之差:"+sc.toString()) ;
system .out.printin(“两数之积:“+mc.tostring() ;
}
}
public Complex mult(Complex Z) {
    double aa=x*Z.x-y*z.y;//这两步求差看不懂
    double bb=y*Z.×+×*Z.y;//看不懂
    returnnew Complex (aa,bb) ;
}

这个看不懂的话我们可以修改一下:

public Complex mult(Complex Z) {
    double aa=this.x*Z.x-this.y*z.y;// 将this.补全
    double bb=this.y*Z.×+this.×*Z.y;// 将this.补全
    returnnew Complex (aa,bb) ;
}

在对象方法里面直接x这种,其实是使用的自己的x,写全的话应该是this.x,这里只是简写了一下