Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
54 views

Java 106 - 107 - Method Overloading and Constructor, Constructor Overlaoding TP

The document discusses method overloading in Java through examples. It shows how methods can be overloaded by changing the number and type of arguments. Method overloading is not possible by only changing the return type. The main() method can also be overloaded. The document also discusses constructor overloading through examples, including a default no-arg constructor and parameterized constructors.

Uploaded by

Rajesh Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Java 106 - 107 - Method Overloading and Constructor, Constructor Overlaoding TP

The document discusses method overloading in Java through examples. It shows how methods can be overloaded by changing the number and type of arguments. Method overloading is not possible by only changing the return type. The main() method can also be overloaded. The document also discusses constructor overloading through examples, including a default no-arg constructor and parameterized constructors.

Uploaded by

Rajesh Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Method Overloading

Exercise:- Method Overloading by changing no. of arguments.


class Adder{
static int add(int a,int b){return a+b;}
static int add(int a,int b,int c){return a+b+c;}
}
class TestOverloading1{
public static void main(String[] args){
System.out.println(Adder.add(11,11));
System.out.println(Adder.add(11,11,11));
}}

Output:

22
33

Note :- In this example, we are creating static methods so that we don't need to
create instance for calling methods

Exercise:- Method Overloading by changing data type of arguments.


class Adder{
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 main(String[] args){
System.out.println(Adder.add(11,11));
System.out.println(Adder.add(12.3,12.6));
}}

Output:
22
24.9
Exercise:- Program to show - Method Overloading is not possible by
changing the return type of method only.

class Adder{
static int add(int a,int b){return a+b;}
static double add(int a,int b){return a+b;}
}
class TestOverloading3{
public static void main(String[] args){
System.out.println(Adder.add(11,11));//ambiguity
}}

Output:

Compile Time Error: method add(int,int) is already defined in class Adder

System.out.println(Adder.add(11,11)); //Here, how can java determine which sum()


method should be called?

Exercise:- Program to overload java main() method.


Warning:- Yes, by method overloading. You can have any number of main methods
in a class by method overloading. But JVM calls main() method which receives string
array as arguments only. Let's see the simple example:

class TestOverloading4{
public static void main(String[] args){System.out.println("main with String[]");}
public static void main(String args){System.out.println("main with String");}
public static void main(){System.out.println("main without args");}
}

Output:

main with String[]


Constructor & Constructor Overloading
Exercise:- Example Program to show use of default constructor that
displays the default values.

//use of default constructor which displays the default values


class Student3{
int id;
String name;
//method to display the value of id and name
void display(){System.out.println(id+" "+name);}

public static void main(String args[]){


//creating objects
Student3 s1=new Student3();
Student3 s2=new Student3();
//displaying values of the object
s1.display();
s2.display();
}
}

Output:
0 null
0 null

Exercise:- Example Program to show use of parametrized


constructor.

//Java Program to demonstrate the use of the parameterized constructor.


class Student4{
int id;
String name;
//creating a parameterized constructor
Student4(int i,String n){
id = i;
name = n;
}
//method to display the values
void display(){System.out.println(id+" "+name);}

public static void main(String args[]){


//creating objects and passing values
Student4 s1 = new Student4(111,"Karan");
Student4 s2 = new Student4(222,"Aryan");
//calling method to display the values of object
s1.display();
s2.display();
}
}

Output:
111 Karan
222 Aryan

Exercise:- Example Program to show use of constructor overloading.


//Java program to overload constructors
class Student5{
int id;
String name;
int age;
//creating no arg constructor
Student5(){
System.out.println("Student Object created. ");
}

//creating two arg constructor


Student5(int i,String n){
id = i;
name = n;
}
//creating three arg constructor
Student5(int i,String n,int a){
id = i;
name = n;
age=a;
}
void display(){System.out.println(id+" "+name+" "+age);}

public static void main(String args[]){


Student5 s1 = new Student5(111,"Karan");
Student5 s2 = new Student5(222,"Aryan",25);
Student5 s3 = new Student5();
s1.display();
s2.display();
s3.display();
}
}

Output:
111 Karan 0
222 Aryan 25
0 null 0

You might also like