class Base { 
   String s = "hola"; 
 
   Base( ) { 
      System.out.println("Base( )"); 
   } 
 
   Base(int n) { 
      System.out.println("Base(int)"); 
   } 
} 
 
class Derivado extends Base { 
   String t = "adios"; 
 
   Derivado( ) { 
      System.out.println("Derivado( )"); 
   } 
 
   Derivado(int n) { 
      super(n);          // pasándole el entero al constructor del tipo base (super siempre refiere al tipo base)
      System.out.println("Derivado(int)"); 
   } 
} 
 
void main( ) { 
   var a = new Derivado( ); 
   System.out.println( ); 
   var b = new Derivado(5); 
   System.out.println( ); 
 
   System.out.printf("%s %s", b.s, b.t);       // heredamos .s y tenemos .t 
} 
