Java Constructor
Java Constructor
Constructors in Java
In Java, a 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.
Every time an object is created using the new() keyword, at least one constructor is called.
It 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.
Note: We can use access modifiers while declaring a constructor. It controls the
object creation. In other words, we can have private, protected, public or default
constructor in Java.
2. Parameterized constructor
https://www.javatpoint.com/java-constructor 1/9
2/23/2020 Java Constructor - Javatpoint
<class_name>(){}
Test it Now
Output:
Bike is created
https://www.javatpoint.com/java-constructor 2/9
2/23/2020 Java Constructor - Javatpoint
The default constructor is used to provide the default values to the object like 0, null, etc.,
depending on the type.
Test it Now
Output:
0 null
0 null
Explanation:In the above class,you are not creating any constructor so compiler provides you
a default constructor. Here 0 and null values are provided by default constructor.
The parameterized constructor is used to provide different values to distinct objects. However,
you can provide the same values also.
https://www.javatpoint.com/java-constructor 3/9
2/23/2020 Java Constructor - Javatpoint
//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);}
Test it Now
Output:
111 Karan
222 Aryan
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.
https://www.javatpoint.com/java-constructor 4/9
2/23/2020 Java Constructor - Javatpoint
void display(){System.out.println(id+" "+name+" "+age);}
Test it Now
Output:
111 Karan 0
222 Aryan 25
A constructor must not have a return type. A method must have a return type.
The Java compiler provides a default constructor if The method is not provided by the
you don't have any constructor in a class. compiler in any case.
The constructor name must be same as the class The method name may or may not
name. be same as the class name.
https://www.javatpoint.com/java-constructor 5/9
2/23/2020 Java Constructor - Javatpoint
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
In this example, we are going to copy the values of one object into another using Java
constructor.
//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);}
Test it Now
Output:
111 Karan
111 Karan
class Student7{
int id;
String name;
Student7(int i,String n){
id = i;
name = n;
}
Student7(){}
void display(){System.out.println(id+" "+name);}
⇧
https://www.javatpoint.com/java-constructor 6/9
2/23/2020 Java Constructor - Javatpoint
public static void main(String args[]){
Student7 s1 = new Student7(111,"Karan");
Student7 s2 = new Student7();
s2.id=s1.id;
s2.name=s1.name;
s1.display();
s2.display();
}
}
Test it Now
Output:
111 Karan
111 Karan
Yes, it is the current class instance (You cannot use return type yet it returns a value).
Yes, like object creation, starting a thread, calling a method, etc. You can perform any
operation in the constructor as you perform in the method.
Yes.
Java provides a Constructor class which can be used to get the internal information of a
constructor in the class. It is found in the java.lang.reflect package.
← prev next →
https://www.javatpoint.com/java-constructor 7/9
2/23/2020 Java Constructor - Javatpoint
ANN
Preparation
Company
Interview
Questions
Company
Trending Technologies
B.Tech / MCA
https://www.javatpoint.com/java-constructor 8/9
2/23/2020 Java Constructor - Javatpoint
https://www.javatpoint.com/java-constructor 9/9