Java admite la herencia como una de sus funcionalidades básicas y, gracias a ella, se pueden aplicar muchos principios de la programación orientada a objetos, como la abstracción.
Una clase puede extender otra clase con la palabra clave extends y puede heredar de una interfaz con la palabra clave implements.
Los modificadores de acceso definen las reglas sobre el acceso desde otras clases (o desde cualquier parte del código) a las variables miembro y los métodos de una clase.
Hay cuatro modificadores de acceso:
privatepublicprotectedPuedes leer más sobre ellos en este artículo
Estos conceptos son muy similares y a menudo se confunden.
interface Animal() {
public void bark();
}
class Dog implements Animal {
public void bark() {
System.out.println("Bark");
}
}
Aquí, Dog IS-A Animal
interface Engine {
}
class Car {
private Engine engine;
}
Aquí, Car HAS-A Engine