Constructors
are used to initialize object at the time of creation.
syntax
modifier
className(){
}
Here
modifier is anything like private, public, protected, default. Will
discuss more about modifiers in the packages section. As you see
constructors don't have any return type and constructor name equals
to the class name.
If
you don't provide the constructor, then compiler provides the default
constructor for your class.
Example
class Box{
int width,height;
Box(){
width = 10;
height = 10;
}
public static void main(String args[]){
Box b1 = new Box();
System.out.println(b1.width +"\t"+b1.height);
}
}
Output
10 10
As
you see in the above program, Box() is initializing the properties
for an object to 10 at the time of creation.
Overloading
Constructors
Just
like overloading methods, we can overload the constructors
also.
Example
class Box{
int width,height;
Box(){
width = 0;
height = 0;
}
Box(int h){
width = height = h;
}
Box(int w, int h){
width = w;
height = h;
}
public static void main(String args[]){
Box b1 = new Box();
Box b2 = new Box(15);
Box b3 = new Box(15, 25);
System.out.println(b1.width +"\t"+b1.height);
System.out.println(b2.width +"\t"+b2.height);
System.out.println(b3.width +"\t"+b3.height);
}
}
Output
0 0
15 15
15 25
Some
points to Remember
1.
Can we make constructor and method with the same name ?
Yes,
it is valid in Java
Example
class Box{ int width,height; Box(){ width = 10; height = 10; } void Box(){ System.out.println(width +"\t"+height); } public static void main(String args[]){ Box b1 = new Box(); System.out.println(b1.width +"\t"+b1.height); } }
Output
10 10
2.
Can constructors throw exceptions ?
Yes,
Constructors are like special methods in java.
Example
public
Socket(String host,int port)throws UnknownHostException,IOException
Socket
class in the java.net.Socket, throws UnknownHostException, if the IP
address of the host could not be determined.
No comments:
Post a Comment