//File Esempio2.java

class B {
  public void f(int i) { 
    System.out.println(i*i);
  } 
}

class D extends B {
  public void f(String s) { //OVERLOADING
    System.out.println(s); 
  }
  public void f(int n) {    //OVERRIDING
    System.out.println(n*n*n); 
  }
}


public class Esempio2 {
  public static void main(String[] args) {
    D d = new D();
    d.f(10);       //stampa 1000    
    B b = d;
    b.f(10);       //cosa stampa 100 o 1000?    1000!
    
  } 
}