Sunday, October 2, 2022
HomeTeacherTechnique Overloading in Java with Examples

Technique Overloading in Java with Examples


Method Overloading in Java

Technique overloading in java is a characteristic that permits a category to have multiple technique with the identical title, however with totally different parameters.

Java helps technique overloading by means of two mechanisms:

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

What’s Technique overloading in Java?

“Technique overloading is a characteristic of Java by which a category has multiple technique of the identical title and their parameters are totally different.”

In different phrases, we will say that Technique overloading is an idea of Java by which we will create a number of strategies of the identical title in the identical class, and all strategies work in several methods. When multiple technique of the identical title is created in a Class, any such technique is known as the Overloaded Technique.

We are able to simply perceive about technique of overloading by the under instance:

Suppose now we have to put in writing a technique to search out the sq. of an integer quantity. We are able to write this technique as follows:

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

Suppose we wish to discover the sq. of 10, then to search out the sq. of 10, we will name this technique as follows:

 intSquare(5);

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

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

Equally, if we wish to discover the sq. of lengthy kind worth, then now we have to create one other technique as follows:

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

If we glance fastidiously, to search out the sq. of a quantity solely, based on the info kind of the quantity, now we have to take three names as follows:

intSquare()

doubleSquare()

longSquare()

Whether it is potential {that a} programmer has to take just one title and this system itself decides which technique to make use of for which sort of worth, then it is going to be simpler for the programmer to get the identical. There is no such thing as a must memorise the names of multiple technique for kind work. In Java, we can provide the above three strategies the identical title.

If we offer solely the sq. () title as a substitute of giving totally 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(“Technique with Integer Argument Referred to as:“+sq.);
 }
public void Sq.(double quantity)
 {
 double sq. = quantity * quantity; 
System.out.printIn(“Technique with double Argument Referred to as:“+sq.);
}
public void Sq.(lengthy quantity)
 { 
lengthy sq. = quantity * quantity;
System.out.printIn(“Technique with lengthy Argument Referred to as:“+sq.);
}

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

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

Observe: We’ve got not offered any argument within the ‘parenthesis’ of the sq.() technique in our program. On this case, the Compiler Class calls the tactic by which no Parameter has been outlined to realize the Argument.

Output:

No Parameter Technique Referred to as 

Technique with Integer Argument Referred to as: 25

Technique with float Argument Referred to as: 6.25

On this method, we will outline multiple Strategies of the identical title in a category, which is known as Technique Overloading, and 

The Java compiler itself performs the suitable Technique Name for an object, primarily based on the Information Kind of the Arguments of the Strategies.

Advantages of utilizing Technique Overloading

  • Technique overloading will increase the readability of this system.
  • This offers flexibility to programmers in order that they’ll name the identical technique for several types 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.
  • Technique overloading minimises the complexity of the code.
  • With this, we will use the code once more, which saves reminiscence.

The right way to do Technique Overloading?

In java, we do technique overloading in two methods:

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

Within the instance under, now we have 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 fundamental(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 info sorts: 

Within the instance given under, now we have two strategies, and their information sorts are totally 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 fundamental(String[] args)
{  
System.out.println(Sum.add(17,13));  
System.out.println(Sum.add(10.4,10.6));  
}
}

Observe: 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:

  • Technique overloading can’t be completed by altering the return kind of strategies.
  • An important rule of technique overloading is that two overloaded strategies should have totally different parameters.

Technique 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 totally 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 fundamental(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 method, we will outline multiple Strategies of the identical title in a category referred to as Technique Overloading. The Java Compiler itself, primarily based on the Information Kind of the Arguments of the Strategies,  performs the suitable technique name for an object. 

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

Additionally, if you’re making ready for Interviews, take a look at these Interview Questions for Java to ace it like a professional.

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

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments