Day - 10 - Constructor
Day - 10 - Constructor
Constructors in Java
In Java
Every time an object is created using the new() keyword, at least one
constructor is called.
1 www.softtwig.com
Softtwig Technology Solution Private Limited
1. <class_name>(){}
Example of default constructor
In this example, we are creating the no-arg constructor in the Bike
2 www.softtwig.com
Softtwig Technology Solution Private Limited
//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();
}
}
The default constructor is used to provide the default values to the object like 0,
null, etc., depending on the type.
//Let us see another example of default constructor
//which displays the default values
3 www.softtwig.com
Softtwig Technology Solution Private Limited
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();
}
}
In this example, we have created the constructor of Student class that have two
parameters. We can have any number of parameters in the constructor.
//Java Program to demonstrate the use of the parameterized constructor.
class Student4{
4 www.softtwig.com
Softtwig Technology Solution Private Limited
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();
}
}
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.
//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();
}
}
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:
o By constructor
o By assigning the values of one object into another
o By clone() method of Object class
In this example, we are going to copy the values of one object into another
using Java constructor.
6 www.softtwig.com
Softtwig Technology Solution Private Limited
//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();
}
}
We can copy the values of one object into another by assigning the objects
values to another object. In this case, there is no need to create the constructor.
class Student7{
int id;
String name;
Student7(int i,String n){
id = i;
name = n;
7 www.softtwig.com
Softtwig Technology Solution Private Limited
}
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();
}
}
8 www.softtwig.com