Skip to main content

Understanding Constructors in Java

 

What is a Constructor?

In Java, a constructor is a special block of code similar to a method. It is called when an instance of the class is created. The primary purpose of a constructor is to initialize the newly created object.

When a constructor is invoked, 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. Java provides a default constructor if no constructor is explicitly defined in the class.

Characteristics of a Constructor

  • Initialization: A constructor initializes the object.
  • Invocation: Called automatically when a new object is created.
  • Default Constructor: If no constructor is defined, Java provides a default constructor.

Rules for Creating a Java Constructor

  1. Constructor Name: Must be the same as the class name.
  2. Return Type: Must not have an explicit return type.
  3. Modifiers: Cannot be abstract, static, final, or synchronized.

Note: Access modifiers can be used to control object creation, allowing for private, protected, public, or default constructors in Java.

Example: Basic Constructor

public class Constructor { String name; int age; Constructor(String name, int age) { this.name = name; this.age = age; } void displayInfo() { System.out.println(name + "\n" + age); } public static void main(String[] args) { Constructor p1 = new Constructor("Lalit", 20); p1.displayInfo(); } }

In the example above, the Constructor class has a constructor that initializes the name and age fields. When a new object p1 is created using new Constructor("Lalit", 20);, the constructor initializes the fields, and the displayInfo method prints them.

Overloading Constructors

Constructor overloading allows a class to have more than one constructor with different parameter lists. It provides multiple ways to initialize objects.

Example: Overloaded Constructors

public class Constructor { String name; int age; // Default constructor Constructor() { this.name = "Unknown"; this.age = 0; } // Parameterized constructor Constructor(String name, int age) { this.name = name; this.age = age; } void displayInfo() { System.out.println(name + "\n" + age); } public static void main(String[] args) { Constructor p1 = new Constructor(); Constructor p2 = new Constructor("Lalit", 20); p1.displayInfo(); p2.displayInfo(); } }

In this example, there are two constructors:

  • Default Constructor: Initializes name to "Unknown" and age to 0.
  • Parameterized Constructor: Initializes name and age with the provided values.

Both objects p1 and p2 are created using different constructors, demonstrating constructor overloading.

Comments

Popular posts from this blog

String Function

  package StringLearning; class Display { public static void print (String s) { System. out .println(s); } } public class StringFunc { public static void main (String[] args) { String s = "Java Programming" ; // Display original string Display. print (s); // Converts all characters to lower case Display. print ( "LowerCase: " + s.toLowerCase()); // Converts all characters to upper case Display. print ( "UpperCase: " + s.toUpperCase()); // Concatenates the specified string to the end of the original string Display. print ( "Concatenation: " + s.concat( " is easy." )); // Replaces each occurrence of a character with a new character Display. print ( "Replace 'a' with 'b': " + s.replace( 'a' , 'b' )); // Replaces each occurrence of a substring with a new substring Displ...

Understanding Access Modifier

Java Program package LAB_Report; /* 2. Write a program in Java to demonstrate the usage of access modifiers: public, private, protected and default. */ class AccessModifier{ int defaultValue ; // this is visible within the package only public int publicValue ; // this is visible everywhere protected int protectedValue ; // this is visible within the package and subclasses private int privateValue ; // this is visible within the class only public void setPrivateValue ( int privateValue) { this . privateValue = privateValue; } public int getPrivateValue () { return privateValue ; } } class AccessModifierProtected extends AccessModifier{ public void setValue ( int value2){ this . protectedValue = value2; } public int getValue2 (){ return protectedValue ; } } public class Lab_2 { public static void main (String[] args) { AccessModifier am = new AccessModifier(); ...

Understanding Objects, Classes, and Instance Variables in Programming

What is an Object? An object is an entity that possesses both state and behavior. In simple terms, an object is an instance of a class. It encapsulates the properties (state) and functionalities (behavior) defined by its class.  Example: Object: Pencil State:   Name: Ballpoint   Color: Black Behavior:   - To write  What is a Class? A class is a blueprint for creating objects. It defines a set of properties and methods that the created objects will have. Think of a class as a template that outlines what an object will be like. Components of a Class: Fields: Variables to store data. Methods: Functions to define behaviors. Constructors: Special methods to initialize objects. Blocks: Code blocks for initialization. Nested Class and Interface: Classes or interfaces defined within another class Instance Variables Instance variables are variables declared within a class but outside any method. They are specific to each object created from the class. Unlike static varia...