What is Class and Object in Java ?

A class is like a blueprint for an object. It defines what attributes (fields) and behaviors (methods) an object will have. Before creating an object, the class is defined with these fields and methods, giving structure to what objects based on this class will look like.

An object is an instance of a class. Each object has its own set of data (attributes) and behaviors (methods) defined by the class. Importantly, if we change the data of one object, it doesn’t affect the data of other objects created from the same class; each object maintains its own state.

We have already discussed classes and objects in Java separately. If you want to learn more then the links are below;

What Is Class In Java With Example?

What Is an Object in Java?

In this article, we understand both class and object in Java and how both work together.

Create the class

Let’s create a simple class called Person, which has two attributes: name and age, and a method to display the information.

class Person {
    // Attributes (fields or variables)
    String name;
    int age;

    // Method to display person's information
    void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

While a class defines the structure, an object is an actual entity created from that class, holding real values for its attributes and able to perform actions (methods) defined in the class.

For example, if the Person class is the blueprint, then an object is an actual person (like “Alice”) created based on that blueprint.

Create an object

ClassName objectName = new ClassName();

ClassName is the name of the class and objectName is the name of the object. A new keyword is used for making an object and ClassName() is the constructor calling.

How do you access object properties in Java?

We have two object properties: fields and methods. We can access fields and methods inside the class and outside the class.

To access properties within the class, we can refer to them directly by their names. For example, if we have a Person class with fields like name and age and a method called displayInfo(), we can access name and age directly within displayInfo() without any additional syntax.

However, to access these properties from outside the Person class, we use the dot (.) operator, also known as the “object member access operator.”

Below is an example of how to access fields and methods using the dot operator, assuming we have a Person class with the fields name, age, and the method displayInfo():

public class Main {
    public static void main(String[] args) {
        // Creating the first object of the Person class
        Person obj= new Person();
        obj.name="John";
        obj.age=26;
        obj.displayData();
        }
        }

The above example shows only how to access object properties outside the class in Java. We will make a whole program also for this.

If you want to print the values of the Object field (name, age) outside the class without using displayData() method then you can use the below code:

public class Main {
    public static void main(String[] args) {
        // Creating the first object of the Person class
        Person obj= new Person();
        System.out.println("Name: " + obj.name);
        System.out.println("Age: " + obj.age);
        }
        }

Example of both class and object in Java

// Defining the Person class
class Person {
    // Attributes (fields or variables)
    String name;
    int age;

    // Method to display person's information
    void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

// Main class to create and use objects
public class Main {
    public static void main(String[] args) {
        // Creating an object of the Person class
        Person person1 = new Person();

        // Setting attributes for person1
        person1.name = "Alice";
        person1.age = 25;

        // Calling the method to display person1's information
        person1.displayInfo();
    }
}

In this example, we define the class Person with some fields (name, age) and method (displayInfo). In the main method, we create an object named person1 of class Person and assign values to the name and age of the object person1. After assigning these values, we call the displayInfo() method on person1, which prints the name and age of person1. The output is shown below.

Output
Name: Alice
Age: 25

How to assign values to Object fields?

We have two approaches for assigning values to object fields.

In first approach, We are using dot(.) operator, example below:

obj.name=”John”;

In the second approach, We use a method for assigning the value, example below:

// Defining the Person class
class Person {
    // Attributes (fields or variables)
    String name;
    int age;

    // Method to set person's data
    void setData(String x, int y) {
        name = x;
        age = y;
    }

    // Method to display person's information
    void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

// Main class to create and use multiple objects
public class Main {
    public static void main(String[] args) {
        // Creating the first object of the Person class
        Person person1 = new Person();
        person1.setData("John", 26);

        // Displaying person1's information
        person1.displayInfo();
    }
}

The code defines a Person class with two attributes: name and age. The setData method assigns values to these attributes. In the Main class, we create an Person object, set its data with "John" and 26, and print the information. The output is:

Output
Name: John
Age: 26

can we create multiple objects of the same class? yes, absolutely. Let’s create multiple objects of person class.

Example of multiple objects of the same class

// Defining the Person class
class Person {
    // Attributes (fields or variables)
    String name;
    int age;

    // Method to display person's information
    void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

// Main class to create and use multiple objects
public class Main {
    public static void main(String[] args) {
        // Creating the first object of the Person class
        Person person1 = new Person();
        person1.name = "Alice";
        person1.age = 25;

        // Creating the second object of the Person class
        Person person2 = new Person();
        person2.name = "Bob";
        person2.age = 30;

        // Creating the third object of the Person class
        Person person3 = new Person();
        person3.name = "Charlie";
        person3.age = 35;

        // Displaying information for all three objects
        person1.displayInfo();
        person2.displayInfo();
        person3.displayInfo();
    }
}

In the main method, we create three separate objects of the Person class:

  • person1 with name set to “Alice” and age set to 25.
  • person2 with name set to “Bob” and age set to 30.
  • person3 with name set to “Charlie” and age set to 35.

We call displayInfo() for each object, which prints out the name and age of each individual Person object.

Output
Name: Alice
Age: 25
Name: Bob
Age: 30
Name: Charlie
Age: 35

Conclusion

In Java, classes act as blueprints for creating objects, defining the attributes and behaviors that objects will have. By creating multiple objects from the same class, each instance can hold its own unique data, making classes and objects essential for building organized, reusable code in Java applications.
If you want to learn more about classes and objects then click here

We’d Love to Hear From You!

Do you have questions or feedback about classes and objects in Java? We’re here to help! Whether you need further clarification, have suggestions, or just want to share your thoughts, please leave a comment below. Your feedback is invaluable in helping us improve our content and support others. Don’t hesitate to reach out—we’re excited to hear from you!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
Aitechray