Method Overloading

Method overloading is the same concept as constructor overloading. That is, you can use methods of the same name in the same class, but methods of the same name must have different types and numbers of parameters.

Method overloading allows you to implement polymorphism that provides a variety of implementations using a single interface that is characteristic of Java.

class Overload1 {
	void test() {
		System.out.println("No parameters");
	}

	void test(int a) {
		System.out.println("Parameters int" + a);
	}

	void test(int a, int b) {
		System.out.println("Parameters int " + a + "and int " + b);
	}

	void test(double a) {
		System.out.println("Parameters double " + a);
		return a * 2;
	}
}

class OverLoadDemo1 {
	public static void main(String args[]) {
		Overload1 ob = new Overload1();
		double result;

		ob.test();
		ob.test(100);
		ob.test(5, 10);
		result = ob.test(4.2);
		System.out.println("The result of ob.test(4.2) : " + result);
	}
}
Method Overloading Example 1
class Overload2 {
	void test() {
		System.out.println("No parameters");
	}

	void test(int a, int b) {
		System.out.println("Parameters int " + a + "and int " + b);
	}

	void test(double a) {
		System.out.println("Parameters double " + a);
		return a * 2;
	}
}

class OverLoadDemo1 {
	public static void main(String args[]) {
		Overload2 ob = new Overload2();
		int i = 88;

		ob.test();
		ob.test(10, 20);
		ob.test(i); //Execute void test(double a) through automatic type conversion
		ob.test(123.2);
	}
}
Method Overloading Example 2
class Overload {
	void calc() {
		System.out.println("No parameters");
	}

	void calc(int width) {
		system.out.println("The width of the square: " + width * width);
	}

	void calc(int width, int height) {
		system.out.println("The width of the rectangle: " + width * height);
	}

	void calc(int width, int height, int depth) {
		system.out.println("The volume of the rectangle: " + width * height + depth);
	}
}

class OverloadDemo3 {
	public static void main(String args[]) {
		Overload ol = new Overload();
		int input[] = new int[args.length];
		for(int i=0; i<args.length; i++) {
			input[i] = Integer.parseInt(args[i]);
		}
		switch(args.length) {
			case 0:
				ol.calc();
				break;
			case 1:
				ol.calc(input[0]);
				break;
			case 2:
				ol.calc(input[0], input[1]);
				break;
			case 3:
				ol.calc(input[0], input[1], input[2]);
				break;
			default:
				System.out.println("The number of arguments is high.");
		}
	}
}
Method Overloading Example 3

Leave a Reply

Your email address will not be published. Required fields are marked *

Latest Post

  • Mastering the daily conversation in 4 languagesBasic sentences expressing my mood – I’m
  • 8 things you need to think about for work-life balance
    View on Youtube Image: juliezhuo.com who works as a design VP for Facebook, presented 8 ways for work and life balance in her article “The
  • 10 special abilities of Smartphone
    View on Youtube No matter where you go or what you do, your smartphone is always with us. We use the internet with a smartphone,
  • Java: abstract class, abstract method
    An abstract class in Java is a class that declares an abstract function to be implemented in a subclass as an abstract method. An abstract
  • Java: inheritance and constructors
    When an object is created from an inherited class, the constructor of the superclass is performed before the constructor of the subclass. That is, when
  • Java reserved words: super, final
    super is a Java reserved word that is used to access member variables or methods of a superclass that is obscured by a subclass. Access
  • Java: finalize method and garbage collection
    The Java Virtual Machine(JVM) automatically performs garbage collection for objects that are no longer needed for efficient system operation. At this point, the JVM calls
  • Java: Method overloading
    Method overloading is the same concept as constructor overloading. That is, you can use methods of the same name in the same class, but methods
  • Java final variable
    You can specify an end variable using the reserved word final. The final variable represents a constant value that can not be changed. Typically, final
  • Java class variables
    Class variables are declared with static and have the concept of global variables. Class variables are used for the following purposes. Object references and object