Constructor in Java
Constructor is a block of codes similar to
the method. It is called when an instance of the class is created. At the time
of calling constructor, memory for the object is allocated in the memory.
It is a special type of method which is used
to initialize the object.
Every time an object is created using the
new() keyword, at least one constructor is called.
vIt calls a default
constructor if there is no constructor available in the class. In such case,
Java compiler provides a default constructor by default.
There are two types of constructors in Java:
no-arg constructor, and parameterized constructor.
Note: It is called
constructor because it constructs the values at the time of object creation. It
is not necessary to write a constructor for a class. It is because java
compiler creates a default constructor if your class doesn't have any.
Rules for creating Java
constructor
There are two rules defined for the
constructor.
1. Constructor name must be the same as its class name
2. A Constructor must have no explicit return type
3. A Java constructor cannot be abstract, static, final, and
synchronized
Types of Java constructors
There are two types of constructors in Java:
1. Default constructor (no-arg constructor)
2. Parameterized constructor
default constructor multiple constructor in java |
1.Java Default Constructor:
A constructor is called "Default
Constructor" when it doesn't have any parameter.
Syntax of default
constructor:
<class_name>{}
Example of default constructor
//Java Program to create and call a default constructor
class Bike1{
//creating a default constructor
Bike1(){System.out.println("Bike is created");}
//main method
public static void main(String args[]){
//calling a default constructor
Bike1 b=new Bike1();
}
}
Output:
Bike
is created
2.
Java
Parameterized Constructor:
A constructor which has a specific number of
parameters is called a parameterized constructor.
Example of parameterized 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
Constructor Overloading in Java
In Java, a constructor is just like a method
but without return type. It can also be overloaded like Java methods.
Constructor overloading in Java is a
technique of having more than one constructor with different parameter lists.
They are arranged in a way that each constructor performs a different task.
They are differentiated by the compiler by the number of parameters in the list
and their types.
Example of Constructor Overloading
//Java program to overload constructors
class Student5{
int id;
String name;
int age;
//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);
s1.display();
s2.display();
}
}
Output:
111
karan 0
222
Aryan 25
Java Copy Constructor
There is no copy constructor in Java.
However, we can copy the values from one object to another like copy
constructor in C++.
There are many ways to copy the values of one
object into another in Java. They are:
- By
constructor
- By
assigning the values of one object into another
- By clone()
method of Object class
Example:
//Java program to initialize the values from one object to another object.
class Student6{
int id;
String name;
//constructor to initialize integer and string
Student6(int i,String n){
id = i;
name = n;
}
//constructor to initialize another object
Student6(Student6 s){
id = s.id;
name =s.name;
}
void display(){System.out.println(id+" "+name);}
public static void main(String args[]){
Student6 s1 = new Student6(111,"Karan");
Student6 s2 = new Student6(s1);
s1.display();
s2.display();
}
}
Output:
111
karan
222
Aryan
No comments:
Post a Comment