With this example we are going to demonstrate how to use Overloading Java Methods in a class. Overloaded methods are methods with the same name signature but either a different number of parameters or different types in the parameter list. We have created a class, that has constructors and methods with the same names but with different arguments and use them in new class instances to see their behavour. Specificaly:
Tree
class has an int field,treeHeight
.- It has a constructor where it sets its int field to zero.
- It also has a constructor where it sets its int field to a given int value.
- It has a method
void info()
where it prints a message with the field. - It also has a method
void info(String str)
where it prints a message with a given String and the int field. - We create two new
Tree
objects and for each one of them callinfo()
andinfo(String str)
methods. - The objects are created using the constructor with the int argument.
- Then a new instance of Tree is created using the constructor without fields.
Let’s take a look at the code snippet that follows:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
package com.javacodegeeks.snippets.core; class Tree { int treeHeight; Tree() { System.out.println( "Plant a seedling" ); treeHeight = 0 ; } //Overloaded Constructor //Notice that the two constructors have the same name , but different arguments Tree( int num) { System.out.println( "Creating new Tree that is " + num + " meters tall" ); treeHeight = num; } void info() { System.out.println( "Tree is " + treeHeight + " meters tall" ); } void info(String str) { System.out.println(str + ": Tree is " + treeHeight + " meters tall" ); } } public class MethodOverloading{ public static void main(String[] args) { for ( int i = 0 ; i < 2 ; i++) { Tree t = new Tree(i); t.info(); t.info( "overloaded method" ); } // Overloaded constructor: new Tree(); } } |
Creating new Tree that is 0 meters tall
Tree is 0 meters tall
overloaded method: Tree is 0 meters tall
Creating new Tree that is 1 meters tall
Tree is 1 meters tall
overloaded method: Tree is 1 meters tall
Plant a seedling
This was an example of how to use overloaded methods in a class in Java.