es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo implementar una interfaz correctamente?

Estoy haciendo la tarea de crear una calculadora simple usando Java e interfaces en Java, pero la clase que implementa Java da error diciendo

El tipo público BasicCalculator debe estar definido en su propio archivo
El tipo BasicCalculator debe implementar el método abstracto heredado `calculate.mul(int, int)

Aquí está el código

interface calculate{
    public int add(int a, int b);
    public int sub(int a, int b);
    public int mul(int a, int b);
    public int div(int a, int b);
}

public class BasicCalculator implements calculate { 
    public int a;
    public int b;

    public int add(int a, int b) {
        return a + b;
    }

    public int sub(int a, int b) {
        return a - b;
    }

    public int mul(int a, int b) {
        return a * b;
    }

    public int div(int a, int b){
        return a/b;
    }
}

public class test {
    public static void main(String[] args) {
        calculate c= new BasicCalculator();
        c.add(5,6);
    }
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la clase BasicCalculator debe ser definida en su propio archivo y debe implementar el método abstracto mul(int, int) de la interfaz calculate.

    Para solucionar esto, puedes seguir estos pasos:

    1. Mueve la clase BasicCalculator a su propio archivo llamado BasicCalculator.java.
    2. Cambia el método multiply a mul para que coincida con la firma del método en la interfaz calculate.

    Aquí está el código actualizado:

    Archivo calculate.java:

    interface calculate{
        public int add(int a, int b);
        public int sub(int a, int b);
        public int mul(int a, int b);
        public int div(int a, int b);
    }
    

    Archivo BasicCalculator.java:

    public class BasicCalculator implements calculate { 
        public int a;
        public int b;
    
        public int add(int a, int b) {
            return a + b;
        }
    
        public int sub(int a, int b) {
            return a - b;
        }
    
        public int mul(int a, int b) {
            return a * b;
        }
    
        public int div(int a, int b){
            return a/b;
        }
    }
    

    Archivo test.java:

    public class test {
        public static void main(String[] args) {
            calculate c= new BasicCalculator();
            System.out.println(c.add(5,6));
        }
    }
    

    Ahora, cuando ejecutes la clase test, mostrará el resultado del método add como se espera.

Comments are closed.