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

Java Variables and Data Types

   Variables in Java Variables are the containers to store the data values in the memory.  Variables are naming entities and must follow naming conventions. These rules typically include starting with a letter or underscore, using letters, numbers, or underscores (no spaces or special characters), avoiding reserved keywords, and using naming conventions such as CamelCase or snake_case for readability. These conventions help keep the code organized and understandable.                         Syntax:                                   data_type      variable_name;                                   data_type     variable_name     =     value;       ...

How to write and run Hello world program in Java?

 QuickStart Every program must begin with the class name,  and the class must match the filename. Hello world program In above program, First class is created and file is saved as First.java same as class name.              Now, to run the program First.java, we need to compile it and it will run     To compile the java file, open cmd and locate the java file.     Type: javac filename.java     This will compile the java file and class file will be created  Now to run the java file. Type: java filename We can write java code in IDE  such as VS code, Intellj Idea, to write and run the program.

Java Overview

What is Java?  Java is a popular programming language for developing web, mobile, and desktop applications. It is a high-level and object-oriented programming language. It is platform-independent. It required the Java Virtual Machine(JVM) to run the Java code. Java is similar to C/C++. Application of Java Mobile Application Desktop Application Web Application Embedded System Smart Card Payment System Games History of Java Java's history dates back to the early 1990s when a group of researchers at Sun Microsystems led by James Gosling started a "green project". The goal of this project was to create a portable home-appliance software that could run on embedded processor chips. Initially, the team planned to use C++ programming language for this project. However, they encountered portability issues with C++ and decided to develop a new programming language from scratch. This led to the creation of the Oak programming language, named after an oak tree outside Gosling's o...