0% found this document useful (0 votes)
11 views16 pages

Constructor

The document provides an overview of constructors in Java, detailing their purpose, types (default and parameterized), and rules for creation. It explains concepts such as constructor overloading, the difference between constructors and methods, and how to copy values between objects. Additionally, it addresses common interview questions related to constructors.

Uploaded by

xandercageyo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views16 pages

Constructor

The document provides an overview of constructors in Java, detailing their purpose, types (default and parameterized), and rules for creation. It explains concepts such as constructor overloading, the difference between constructors and methods, and how to copy values between objects. Additionally, it addresses common interview questions related to constructors.

Uploaded by

xandercageyo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Constructor in JAVA

Brajesh Raj
Index
introduction
Types of constructors
◦ Default Constructor
◦ Parameterized Constructor
Constructor Overloading
Does constructor return any value?
Copying the values of one object into another
Does constructor perform other tasks instead
of the initialization
Introduction
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.

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. 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.
Rules for creating Java
constructor
Constructor name must be the same as its class
name
A Constructor must have no explicit return type
A Java constructor cannot be abstract, static,
final, and synchronized

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.
Types of Java constructors
There are two types of constructors in Java:
◦ Default constructor (no-arg constructor)
◦ Parameterized constructor
Java Default Constructor
A constructor is called "Default Constructor" when it doesn't have any
parameter.

Syntax of default constructor:


<class_name>(){}

//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();
}
}
Bike1.java
Java Parameterized Constructor
A constructor which has a specific number of
parameters is called a parameterized
constructor.

Why use the parameterized constructor?


◦ The parameterized constructor is used to provide
different values to distinct objects. However, you
can provide the same values also.
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();
}
}
Student4.java
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();
}
}
Student5.java
Difference between constructor
and method in Java
Java Constructor Java Method

A constructor is used to initialize the state of an A method is used to expose the behavior of an
object. object.

A constructor must not have a return type. A method must have a return type.

The constructor is invoked implicitly. The method is invoked explicitly.

The Java compiler provides a default


The method is not provided by the compiler in
constructor if you don't have any constructor in
any case.
a class.

The constructor name must be same as the The method name may or may not be same as
class name. the class name.
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
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);}

public static void main(String args[]){


Student6 s1 = new Student6(111,"Karan");
Student6 s2 = new Student6(s1);
s1.display();
s2.display();
}
}
Student6.java
Copying values without
constructor
class Student7{
int id;
String name;
Student7(int i,String n){
id = i;
name = n;
}
Student7(){}
void display(){System.out.println(id+" "+name);}

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();
}
}
Student7.java
Interview Question
Q) Does constructor return any value?
Yes, it is the current class instance (You cannot use return
type yet it returns a value).
Q) Can constructor perform other tasks instead of
initialization?
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.
Q) Is there Constructor class in Java?
Yes.

Q) What is the purpose of Constructor class?


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.
THANK YOU

You might also like