// Demonstration of the method overloading
public class Sum {
// Driver code
public static void main( String args[ ] ) {
Sum s = new Sum( );
if ( args.length == 3 )
System.out.println( s.sum( Integer.parseInt( args[0] ),
Integer.parseInt( args[1] ),
Integer.parseInt( args[2] ) ) );
else if ( args.length == 2 )
// See whether the number is a double by checking
// whether it contains a period.
if ( args[0]. (".") || args[1]. (".") )
System.out.println( s.sum( Double.parseDouble( args[0] ),
Double.parseDouble( args[1] ) ) );
else
System.out.println( s.sum( Integer.parseInt( args[0] ),
Integer.parseInt( args[1] ) ) );
else
System.out.println( "Error" );
}
// Overloaded sum, which takes two int parameters
public int sum( int x, int y ) { return x + y; }
// Overloaded sum, which takes three int parameters
public int sum( int x, int y, int z ) { return x + y + z; }
// Overloaded sum, which takes two double parameters
public double sum( double x, double y ) { return x + y; }
}