Please disable adblock to view this page.

← Go home

Method Overloading in Java

java-display

May 1, 2017
Published By : Pratik Kataria
Categorised in:

Functions are called methods in Java

  • You can create a number of methods with same name in Java. But, you must distinguish them by:
    • Number of arguments
    • Arguments data type

Understanding through Code

import java.util.Scanner;

public class MethodOverloading {
	public static void main( String[] args ){

		String s1 = getInput("Enter value 1: ");
		String s2 = getInput("Enter value 2: ");
		String s3 = getInput("Enter value 3: ");

		double result = addValues(s1, s2);
		System.out.println("The answer is: " +result);

		double result1 = addValues(s1, s2, s3);
		System.out.println("The answer for 3 values is: " +result1);

		double result2 = addValues(s1, s2, s3, s1, s2, s3);
		System.out.println("The answer for n values is: " +result2);

	}

	//Marked static so that the method can be directly called from static main method
	static String getInput(String ip) {		//String => this method returns String
		System.out.println(ip);
		Scanner sc = new Scanner(System.in);

		return sc.nextLine();
	}

	static double addValues(String s1, String s2) {  //double => this method returns double
		double d1 = Double.parseDouble(s1);
		double d2 = Double.parseDouble(s2);
		double result = d1 + d2;
		return result;
	}

	//Method overloading -> adding another argument
	static double addValues(String s1, String s2, String s3) { 
		double d1 = Double.parseDouble(s1);
		double d2 = Double.parseDouble(s2);
		double d3 = Double.parseDouble(s3);
		double result = d1 + d2 + d3;
		return result;
	}

	//Method for non-deterministic number of arguments
	static double addValues(String ... values) { //user can pass as many values as he wants
		double result = 0;
		for( String value: values ) {  //for each loop
			double d = Double.parseDouble(value);
			result += d;
		}
		return result;
	}

}

Output

  • Enter value 1:
  • 2
  • Enter value 2:
  • 2
  • Enter value 3:
  • 2
  • The answer is: 4.0
  • The answer for 3 values is: 6.0
  • The answer for n values is: 12.0

 

Pratik Kataria is a budding programmer, web designer and developer.