Implements y extends en Java: ¿cuándo usar y cuál es la diferencia?
¡Hola a todos! Empecé a estudiar Java y no puedo entender la diferencia entre las palabras clave extends e implements. Parece que ambas se usan para herencia, pero ¿cuándo aplicar cada una?
Escribí un pequeño código, pero no compila y siento que estoy confundiendo conceptos:
```java
class Animal {
void eat() {
System.out.println("Come");
}
}
interface Pet {
void play();
}
// Aquí no estoy seguro
class Dog extends Animal implements Pet {
// intento sobrescribir el método de la interfaz
void play() {
System.out.println("Juega con la pelota");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat();
dog.play();
}
}
```
Error: el método play() en Dog no sobrescribe el método de Pet porque no es public. Lo corregí a public, pero aún no entiendo completamente:
1. ¿Por qué para la clase Animal usé extends y para Pet usé implements?
2. ¿Se puede hacer al revés?
No answers yet.
Inicia sesión para dejar una respuesta
Blogs