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