Java object return 问题

 f1 = new Fraction2(2, 3);
        f2 = new Fraction2(1, 3);
        f3 = new Fraction2(5, 6);    

 f1.square();
        f3=f2.copy();
        System.out.println(f3);
        f2.square();

 

public Fraction2 copy() {
            
            a = a/(gcd(a,b));
            b = b/(gcd(b,a));
            return Fraction2.this;

这个return 怎么改?

 

print result f3=1/3
Case 2: f1 = 4/9; f2 = 1/9; f3 = 1/9

想要的结果 1/3 ;

public Fraction2 copy() {
    Fraction2 copyObj = new Fraction2();
    copyObj.setA(a/(gcd(a,b)));
    copyObj.setB(b/(gcd(b,a)));
    // 如果变量用的不是private就直接用变量名获取
    copyObj.a = a/(gcd(a,b));
    copyObj.b = b/(gcd(b,a));
    return copyObj;
}