Come altri linguaggi di programmazione orientati agli oggetti , Java implementa il concetto di ereditarietà . Una classe può essere dichiarata una sottoclasse di un'altra classe ( comunemente chiamata " classe genitore " ) . La sottoclasse eredita tutti i metodi della classe padre . Se la sottoclasse ridefinisce un metodo ereditato con la stessa firma , la definizione della sottoclasse sovrascrive che nella superclasse . È possibile ignorare meccanismo di ereditarietà built-in di Java nel codice. Istruzioni 
 1 
 definire la classe genitore nella vostra applicazione Java , come nel seguente codice di esempio : 
 
 public class BankAccount { 
 
 equilibrio galleggiante privato; 
 
 ContoCorrente pubblico ( float initialBalance ) { 
 equilibrio 
 = initialBalance ; 
 
 } 
 
 pubblico ritirare (float numero ) { 
 equilibrio 
 - = importo ; 
 
 } 
 
 } 
 2 
 Definire la sottoclasse utilizzando parole chiave di Java " estende " , come nel seguente codice di esempio : 
 
 public class SavingsAccount estende ContoCorrente { 
 
 } 
 
 Per impostazione predefinita , SavingsAccount ( un caso particolare di BankAccount ) erediterà l'attributo di "equilibrio" e i due metodi dalla sua classe genitore . 
 
 3 
 override di un metodo dichiarandolo all'interno della sottoclasse con esattamente la stessa firma nella classe padre , come nel seguente codice di esempio : 
 
 public class SavingsAccount estende ContoCorrente { 
 < p > private int transactionsThisMonth = 0; 
 
 pubblico ritirare (float numero ) { 
 
 se ( transactionsThisMonth < 6) { 
 
 equilibrio - = importo; 
 < p > transactionsThisMonth + + ; } 
 
 
 
 } 
 
 } 
 
 la nuova versione del metodo " SavingsAccount.withdraw ( ) " l'override del metodo " BankAccount ereditato . ritirare () " , in questo esempio , il motivo è che i conti di risparmio sono soggetti a limiti mensili del numero di operazioni ammissibili . Il costruttore e l'attributo di " equilibrio " sono ancora immutati , come ereditato dalla classe genitore .