/**
Mehrdeutiger Aufruf bei überladenen Methoden.

Das Programm liefert folgenden Übersetzungsfehler:
UeberladenMehrdeutig.java:45: Reference to maximum is ambiguous.
It is defined in long maximum(long, int) and long maximum(int, long).
         " und " + j + " ist " + maximum(i,j));
                                        ^
1 error

*/
/*-----------------------------------------------------------------------*/
class UeberladenMehrdeutig
{
   /**
   *  Maximum von int- und long-Zahl
   *  @param a erste Zahl
   *  @param b zweite Zahl
   *  @return Maximum der beiden Parameter
   */
   static long maximum(int a, long b)
   {
      System.out.println("\tmaximum(int a, long b)");
      return a>b?a:b;
   }
   
   /**
   *  Maximum von long- und int-Zahl
   *  @param a erste Zahl
   *  @param b zweite Zahl
   *  @return Maximum der beiden Parameter
   */
   static long maximum(long a, int b)
   {  
      System.out.println("\tmaximum(long a, int b)");
      return a>b ? a : b;
   }
   
   /**
   *  Testumgebung
   */
   public static void main(String[] argv)
   {  
      int i = 12, j = 13;
      System.out.println("Maximum von " + i + 
          " und " + j + " ist " + maximum(i,j));
   }
}

