potrebbe nascere la necessità di estendere (cioè aggiungere funzionalità) il codice con ulteriori metodi per l'oggetto

sintassi
modificatore_accesso class NOME_CLASSE_ESTESA extends NOME_CLASSE_ORIGINE
{

....;
}


si aggiungo funzionalità alla classe di origine


esempio: estendo una classe SuperClass con un'altra casse SubClass
public class SuperClass classe iniziale con i primi metodi
{

public static void hello()
{
System.out.println("metodo in SuperClass");
}

public static void echo(String arg)
{
System.out.println("argomento: " + arg);
{
{



public class SubClass extends SuperClass estendo SuperClass
{
public static void main(String[] args) metodo mai che esegue i metodi
{
hello(); metodo hello() locale stessa classe
SuperClass.hello(); richiamo il metodo in SuperClass specificando la classe perché il metodo ha lo stesso nome del locale
echo("ciao"); metodo della classe estesa SuperClass (richiamo senza specificare la classe)
}

public static void hello() metodo locale hello()
{
System.out.println("metodo in SubClass");
}
}

risultato:
metodo in SubClass
metodo in SuperClass
argomento: ciao