Java supporta l'ereditarietà come funzionalità principale, e poi la usa per realizzare molti dei principi della programmazione orientata agli oggetti, come l'astrazione.
Una classe può estendere un'altra classe usando la parola chiave extends e può ereditare da un'interfaccia usando la parola chiave implements.
I modificatori di accesso definiscono le regole per le variabili membro e i metodi di una classe riguardo al loro accesso da parte di altre classi (o da qualsiasi punto del codice).
Ci sono quattro modificatori di accesso:
privatepublicprotectedPuoi leggere di più su di loro in questo articolo
Questi concetti sono molto simili e vengono spesso confusi.
interface Animal() {
public void bark();
}
class Dog implements Animal {
public void bark() {
System.out.println("Bark");
}
}
Qui, Dog IS-A Animal
interface Engine {
}
class Car {
private Engine engine;
}
Qui, Car HAS-A Engine