Buenas aquí otro ejercicio resuelto, el CU00694B del taller de programación en Java desde cero.
public class Test {
    
    public static void main (String[] args) {
        
       Circulo circulo1 = new Circulo(10);
        
       Circulo circulo2 = new Circulo(10);
        
       System.out.println(circulo1.equals(circulo2));
       
       Cuadrado cuadrado1 = new Cuadrado(10);  
       
       Cuadrado cuadrado2 = new Cuadrado(1);
       
       System.out.println(cuadrado1.equals(cuadrado2));
    }
}
public class Circulo extends Figura{
    
    double areaCirculo;
    
    public Circulo (double dimensionPrincipal) {
        
        super (dimensionPrincipal);
    
    }
    
     public void areaCirculo() {
        
        areaCirculo = 2 * 3.1416 *(dimensionPrincipal * dimensionPrincipal);
    
    }
    
    public double getAreaCirculo() {return areaCirculo;}
    
    public void mostrarAreaCirculo() {
        
        System.out.println ("El área del circulo es " + getAreaCirculo() + "cm2");
    
    }
    
    public boolean metodo1() {
        return true;
    }
    
    public boolean equals (Object obj) {
        
        if (obj instanceof Circulo ){
            
            Circulo tmpCirculo = (Circulo) obj;
            
            return tmpCirculo.dimensionPrincipal == this.dimensionPrincipal;
        
        }
        return false;
    }
    
}
public class Cuadrado extends Figura{
    
    double areaCuadrado;
    
    public Cuadrado (double dimensionPrincipal) {
        
        super (dimensionPrincipal);
    
    }
    
    public void areaCuadrado() {
        
        areaCuadrado = dimensionPrincipal * dimensionPrincipal;
    
    }
    
    public double getAreaCuadrado() {return areaCuadrado;}
    
    public void mostrarAreaCuadrado() {
        
        System.out.println ("El área del cuadrado es " + getAreaCuadrado() + "cm2");
    
    }
    
     public boolean equals (Object obj) {
        
        if (obj instanceof Cuadrado ){
            
            Cuadrado tmpCuadrado = (Cuadrado) obj;
            
            return tmpCuadrado.dimensionPrincipal == this.dimensionPrincipal;
        
        }
        return false;
    }
}
public class Figura {
    
    double dimensionPrincipal;
    
    public Figura (double dimensionPrincipal) {
        
        this.dimensionPrincipal = dimensionPrincipal;
    
    }
    
    public void dimensionPrincipal (double dimensionPrincipal) {
        
        this.dimensionPrincipal = dimensionPrincipal;
    
    }
    
    public double getDimensionPrincipal() {return dimensionPrincipal;}
}
Sin más un saludo.