Programming Tutorials

Constructors in Java

By: aathishankaran in Java Tutorials on 2007-03-03  

It can be easy to initialize all of the variables in a class each time an instance is created. even when you add convenience functions for initialization, it would be simpler and more concise to have all of the setup done at the time the object is first created. Because the requirement for initialization is so common, java allows objects to initialize themselves when they are created. this automatic initialization is performed through the use of a constructor.

A constructor initializes an object immediately upon creation. It has the same name as the class in which it resides and is syntactically similar to a method. once defined, the constructor is automatically called immediately after the object is created, before the new operator completes.

constructors look a little strange because they have no return type, not even void. This is because the implicit return type of a class constructor is the class type itself. It is the constructor's job to initialize the internal state of an object so that the code creating an instance will have a fully initialized, usable object immediately.

you can view the below Box example so that the dimensions of a box are automatically initialized when an object is constructed. To do so, declare a constructor. let's begin by defining a simple constructor that simply sets the dimension of each box to the same values.

class Box {
    double width;
    double height;
    double depth;
    Box ( double w, double h, double) {
            width = w;
            height = h;
            depth = d;
        }
    double volume() {
        return width * height * depth;
    }
}

class BoxDemo {
    public static void main(string args[]) {
        Box mybox1 = new Box(10, 20, 15);
        Box mybox2 = new Box(3, 6, 9);
        double vol;
        vol = mybox1.volume();
        System.out.println("Volume is" + vol);
        vol = mybox2.volume();
        System.out.println("Volume is" + vol);
   }

}

The output from this program is shown here:

Volume is 3000.0
Volume is 162.0

As you can see, each object is initialized as specified in the parameters to its constructor. for example, in the following line,

Box mybox1 = new Box (10, 10, 15);

The values 10,20, and 15 are passed to the Box() constructor when new creates the object. thus, mybox1's copy of width, height, and depth will contain the values 10,20, and 15, respectively.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Java )

Latest Articles (in Java)