Klassen, der arver fra en anden klasse, kaldes en "underklasse" eller "afledt klasse". Klassen, der bliver nedarvet fra, kaldes en "superklasse" eller "basisklasse".
Når en klasse arver fra en anden klasse, får den automatisk alle superklassens egenskaber og metoder. Den nye klasse kan derefter tilføje sine egne egenskaber og metoder, eller den kan tilsidesætte superklassens egenskaber og metoder.
Arv bruges til at skabe et hierarki af klasser, hvor hver klasse arver fra en fælles forfader. Dette gør det muligt at genbruge kode og oprette nye klasser med forskellig funktionalitet.
Overvej f.eks. en klasse kaldet "Animal". Denne klasse kan have egenskaber som "navn", "alder" og "art". Det kan også have metoder som `eat()`, `sleep()` og `move()`.
Overvej nu en klasse kaldet "Hund". `Hund`-klassen kan arve fra `Dyr`-klassen. Dette betyder, at `Hund`-klassen automatisk vil få alle egenskaber og metoder fra `Animal`-klassen. `Dog`-klassen kan derefter tilføje sine egne egenskaber og metoder, såsom en `bark()`-metode.
Dette er et simpelt eksempel på, hvordan arv bruges til at skabe en ny klasse med anden funktionalitet. Arv er et kraftfuldt værktøj, der kan bruges til at skabe komplekse og fleksible objektorienterede programmer.
Her er nogle yderligere eksempler på, hvordan arv bruges i applikationer fra den virkelige verden:
* Klassen `java.lang.Object` er basisklassen for alle objekter i programmeringssproget Java. Hver anden klasse i Java arver fra klassen 'Object'.
* Klassen `java.util.ArrayList` er en underklasse af klassen `java.util.AbstractList`. Dette betyder, at `ArrayList`-klassen har alle egenskaberne og metoderne til `AbstractList`-klassen, plus den har sine egne egenskaber og metoder.
* Klassen `javax.swing.JButton` er en underklasse af klassen `javax.swing.JComponent`. Dette betyder, at 'JButton'-klassen har alle egenskaberne og metoderne i 'JComponent'-klassen, plus den har sine egne egenskaber og metoder.