Som andre objektorienterte programmeringsspråk , implementerer Java begrepet arv . En klasse kan bli erklært å være en underklasse av en annen klasse (ofte kalt den "overordnede klassen") . Underklassen arver alle metoder fra den overordnede klassen . Hvis underklassen redefinerer en arvelig metode med samme signatur, overstyrer definisjonen i underklassen som i superklassen . Du kan overstyre Java sin innebygde arv mekanisme i koden. Instruksjoner 
 en 
 Definer den overordnede klassen i din Java-program , som i følgende eksempelkode : en 
 public class bankkonto { 
 
 private float balanse ; 
 
 offentlig bankkonto ( float initialBalance ) { 
 
 balanse = initialBalance ; 
 
 } 
 
 offentlig trekke ( float beløp) { 
 
 balanse - = beløp ; 
 
 } 
 
 } 
 2 
 Definer underklasse bruker Java søkeordet " strekker " , som i følgende eksempelkode : en 
 public class SavingsAccount strekker bankkonto { 
 
 } 
 
 Som standard vil SavingsAccount ( en bestemt sak av bankkonto ) arve attributtet "balanse ", og de to metodene fra sin overordnede klassen . 
 
 3 
 overstyre en metode ved å erklære den innenfor underklasse med nøyaktig samme signatur som i den overordnede klassen , som i følgende eksempelkode : en 
 public class SavingsAccount strekker bankkonto { 
 < p> private int transactionsThisMonth = 0; 
 
 offentlig trekke ( float beløp) { 
 
 if ( transactionsThisMonth < 6 ) { 
 
 balanse - = mengde ; 
 < p> transactionsThisMonth + +; 
 
 } 
 
 } 
 
 } 
 
 den nye versjonen av metoden " SavingsAccount.withdraw ( )" overstyrer arvet metoden " bankkonto . trekke ( ) ", i dette eksempelet , er grunnen til at sparekontoer er underlagt månedlige grenser i antall tillatte transaksjoner . Konstruktøren og "balanse "-attributtet er fortsatt uendret , som arvet fra den overordnede klassen .