//File Esempio1.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 Esempio1 {
  public static void main(String[] args) {
    B b = new B();
    b.f(5);        //stampa 25
    D d = new D();
    d.f("ciao");   //stampa ciao
    d.f(10);       //stampa 1000    
  } 
}