The Java Program: Main.java

  1 // Main.java:  basic overloading of methods
  2 
  3 class C {}
  4 
  5 class D {}
  6 
  7 class Main {
  8 
  9    static void f (C c) {
 10       System.out.println ("f for C");
 11    }
 12 
 13    static void f (D d) {
 14       System.out.println ("f for D");
 15    }
 16 
 17 
 18    /*  Error!  This "f" differs only in the return type
 19        the previous "f".
 20        
 21    static int f (D d) {
 22       System.out.println ("f for D (returning int)");
 23       return (0);
 24    }
 25    */
 26    
 27    static void main (String[] args) {
 28       D d = null;
 29       C c = null;
 30 
 31       f (d);
 32       f (c);
 33 //    f (null);   // Error!  Ambiguous reference to "f"
 34 
 35    }
 36 }