Methodology Overloading in Java with Examples

[ad_1]

Method Overloading in Java

Methodology overloading in java is a function that enables a category to have a couple of technique with the identical identify, however with completely different parameters.

Java helps technique overloading via two mechanisms:

  1. By altering the variety of parameters
  2. By altering the information kind of parameters Overloading by altering the variety of parameters A technique will be overloaded by altering the variety of parameters.

What’s Methodology overloading in Java?

“Methodology overloading is a function of Java through which a category has a couple of technique of the identical identify and their parameters are completely different.”

In different phrases, we are able to say that Methodology overloading is an idea of Java through which we are able to create a number of strategies of the identical identify in the identical class, and all strategies work in numerous methods. When a couple of technique of the identical identify is created in a Class, such a technique is known as the Overloaded Methodology.

We will simply perceive about technique of overloading by the under instance:

Suppose we’ve to put in writing a way to search out the sq. of an integer quantity. We will write this technique as follows:

public void intSquare ( int quantity ) 
{
 int sq. = quantity * quantity;
 System.out.printIn("Methodology with Integer Argument Referred to as:"+sq.);
}

Suppose we need to discover the sq. of 10, then to search out the sq. of 10, we are able to name this technique as follows:

 intSquare(5);

Now, if we need to discover the Sq. of a double kind worth, then we’ve to create one other Sq. () technique as follows:

public void doubleSquare(double quantity)
{
 double sq. = quantity * quantity; 
 System.out.printIn("Methodology with double Argument Referred to as:"+sq.);
}

Equally, if we need to discover the sq. of lengthy kind worth, then we’ve to create one other technique as follows:

public void longSquare(lengthy quantity)
{ 
lengthy sq. = quantity * quantity;
System.out.printIn("Methodology with lengthy Argument Referred to as:"+sq.);
}

If we glance fastidiously, to search out the sq. of a quantity solely, in response to the information kind of the quantity, we’ve to take three names as follows:

intSquare()

doubleSquare()

longSquare()

Whether it is potential {that a} programmer has to take just one identify and this system itself decides which technique to make use of for which kind of worth, then it is going to be simpler for the programmer to get the identical. There isn’t a must memorise the names of a couple of technique for kind work. In Java, we may give the above three strategies the identical identify.

If we offer solely the sq. () identify as a substitute of giving completely different names to the above three strategies and write the remainder of the outline as follows, then Java’s Compiler doesn’t generate any error.

public void Sq. ( int quantity ) 
{
 int sq. = quantity * quantity;
 System.out.printIn(“Methodology with Integer Argument Referred to as:“+sq.);
 }
public void Sq.(double quantity)
 {
 double sq. = quantity * quantity; 
System.out.printIn(“Methodology with double Argument Referred to as:“+sq.);
}
public void Sq.(lengthy quantity)
 { 
lengthy sq. = quantity * quantity;
System.out.printIn(“Methodology with lengthy Argument Referred to as:“+sq.);
}

If we outline these three strategies in a category, then these strategies will be known as Overloaded Strategies as they’ve the identical identify. Allow us to develop CalculateSquare Class to know this, which is as follows:

class CalculateSquare
 { 
public void sq.()
 { 
System.out.println("No Parameter Methodology Referred to as");
 } 
public int sq.( int quantity )
 {
int sq. = quantity * quantity;
System.out.println("Methodology with Integer Argument Referred to as:"+sq.); 
}
public float sq.( float quantity ) 
{
 float sq. = quantity * quantity;
 System.out.println("Methodology with float Argument Referred to as:"+sq.); 
}
public static void most important(String[] args)
  {
    CalculateSquare obj = new CalculateSquare();
    obj.sq.();
    obj.sq.(5);   
    obj.sq.(2.5);   
  }
 }

Notice: Now we have not offered any argument within the ‘parenthesis’ of the sq.() technique in our program. On this case, the Compiler Class calls the tactic through which no Parameter has been outlined to attain the Argument.

Output:

No Parameter Methodology Referred to as 

Methodology with Integer Argument Referred to as: 25

Methodology with float Argument Referred to as: 6.25

On this manner, we are able to outline a couple of Strategies of the identical identify in a category, which is known as Methodology Overloading, and 

The Java compiler itself performs the suitable Methodology Name for an object, based mostly on the Information Sort of the Arguments of the Strategies.

Advantages of utilizing Methodology Overloading

  • Methodology overloading will increase the readability of this system.
  • This supplies flexibility to programmers in order that they’ll name the identical technique for various kinds of information.
  • This makes the code look clear.
  • This reduces the execution time as a result of the binding is finished in compilation time itself.
  • Methodology overloading minimises the complexity of the code.
  • With this, we are able to use the code once more, which saves reminiscence.

The best way to do Methodology Overloading?

In java, we do technique overloading in two methods:

  1. By altering the variety of parameters.
  2. By altering information varieties.
  • Change the variety of arguments:

Within the instance under, we’ve two strategies, the primary technique has two arguments, and the second technique has three arguments.

class Demo
{
  void multiply(int a, int b)
  {
    System.out.printIn("Result's"+(a*b)) ;
  }
  void multiply(int a, int b,int c)
  {
    System.out.printIn("Result's"+(a*b*c));
  }
  public static void most important(String[] args)
  {
    Demo obj = new Demo();
    obj.multiply(8,5);   
    obj.multiply(4,6,2);   
  }
}

Output:- 

Result’s 40 

Result’s 48.

  • By Altering the information varieties: 

Within the instance given under, we’ve two strategies, and their information varieties are completely different.

class Sum
{  
static int add(int a, int b)
{
return a+b;
}  
static double add(double a, double b)
{
return a+b;
}  
}  
class TestOverloading2
{  
public static void most important(String[] args)
{  
System.out.println(Sum.add(17,13));  
System.out.println(Sum.add(10.4,10.6));  
}
}

Notice: On this instance, we’re creating static strategies in order that we don’t must create an occasion for calling strategies.

Output:

30, 21

Some factors to recollect about technique overloading:

  • Methodology overloading can’t be finished by altering the return kind of strategies.
  • An important rule of technique overloading is that two overloaded strategies will need to have completely different parameters.

Methodology overloading has nothing to do with return-type.

If there are two strategies of the identical signature inside a category in this system, then Ambiguity Error comes, whether or not their return-type is completely different or not. Which means technique overloading has no relation with return-type.

class Pattern{
	int disp(int x){
		return x;	
	}
	double disp(int y){
		return y;
	}
	public static void most important(String args[])
{
	Pattern s = new Pattern();
	System.out.printIn("Worth of x : " + s.disp(5));
	System.out.printIn("Worth of y : " + s.disp(6.5));
	}  
}

Output:

Pattern.java:6: error: technique disp(int) is already outlined at school Pattern

On this manner, we are able to outline a couple of Strategies of the identical identify in a category known as Methodology Overloading. The Java Compiler itself, based mostly on the Information Sort of the Arguments of the Strategies,  performs the suitable technique name for an object. 

This brings us to the tip of the weblog on Methodology Overloading in Java. Hope this lets you up-skill your C++ abilities. To study extra about programming and different associated ideas, take a look at the programs on Nice Studying Academy

Additionally, in case you are getting ready for Interviews, take a look at these Interview Questions for Java to ace it like a professional.

Additionally Learn: The best way to make Resume for Java Developer

[ad_2]

Leave a Reply