Не пойму почему System.out.println(man1.equals(man2)); выдает false, если в методе equals мы переопределили логику и this == o должно возвращать true
import java.util.Objects;

public class Man {

    private String noseSize;
    private String eyesColor;
    private String haircut;
    private boolean scars;
    private int dnaCode;

    public Man(String noseSize, String eyesColor, String haircut, boolean scars, int dnaCode) {
        this.noseSize = noseSize;
        this.eyesColor = eyesColor;
        this.haircut = haircut;
        this.scars = scars;
        this.dnaCode = dnaCode;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        return false;
    }

    public String getNoseSize() {
        return noseSize;
    }

    public void setNoseSize(String noseSize) {
        this.noseSize = noseSize;
    }

    public String getEyesColor() {
        return eyesColor;
    }

    public void setEyesColor(String eyesColor) {
        this.eyesColor = eyesColor;
    }

    public String getHaircut() {
        return haircut;
    }

    public void setHaircut(String haircut) {
        this.haircut = haircut;
    }

    public boolean isScars() {
        return scars;
    }

    public void setScars(boolean scars) {
        this.scars = scars;
    }

    public int getDnaCode() {
        return dnaCode;
    }

    public void setDnaCode(int dnaCode) {
        this.dnaCode = dnaCode;
    }
}
public class Test {
    public static void main(String[] args) {
        Man man1 = new Man("Большой", "Зеленый", "Горшок", true, 13);
        Man man2 = new Man("Большой", "Зеленый", "Горшок", true, 2);
        Woman woman2 = new Woman("Средний", "Синий", "Ирокес", false, 12);
        System.out.println(man1.equals(woman2));
        System.out.println(man1.equals(man2)); // не пойму почему тут false
    }
}