Skip to main content
Documents
Share
LinkedIn
Facebook
Twitter
Copy
Java keywordsIntroduction To JavaJava File HandlingJava Language BasicsJava ArraysJava Object-Oriented Programming

Java Classes and Objects

In Java, classes and objects are fundamental building blocks of object-oriented programming. A class is a blueprint for creating objects, providing initial values for member variables and implementations of behaviors (methods). An object is an instance of a class, representing a specific entity with a defined state and behavior.

Classes

A class in Java defines a new data type that can include fields (variables) and methods to define the behavior of the objects created from the class.

Syntax


class ClassName {
    // Fields
    dataType fieldName;

    // Constructor
    ClassName(parameters) {
        // Initialize fields
    }

    // Methods
    returnType methodName(parameters) {
        // Method body
    }
}
  • ClassName: The name of the class.
  • fieldName: Variables that hold the state of the class.
  • Constructor: A special method used to initialize objects.
  • methodName: Functions defined within the class to perform actions.

Objects

An object is an instance of a class. It is created using the new keyword followed by the class constructor.

Syntax


ClassName objectName = new ClassName(arguments);
  • objectName: The name of the object.
  • arguments: Values passed to the constructor to initialize the object.

Examples

Example 1: Defining a Class and Creating an Object


class Car {
    // Fields
    String color;
    int year;

    // Constructor
    Car(String color, int year) {
        this.color = color;
        this.year = year;
    }

    // Method
    void displayInfo() {
        System.out.println("Car color: " + color + ", Year: " + year);
    }
}

public class Main {
    public static void main(String[] args) {
        // Creating an object
        Car myCar = new Car("Red", 2020);
        myCar.displayInfo(); // Output: Car color: Red, Year: 2020
    }
}

In this example, the Car class has fields color and year, a constructor to initialize these fields, and a method displayInfo() to display the car's details. An object myCar is created using the Car class.

Example 2: Multiple Objects


class Dog {
    String name;
    int age;

    Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void bark() {
        System.out.println(name + " says Woof!");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog1 = new Dog("Buddy", 3);
        Dog dog2 = new Dog("Max", 5);
        
        dog1.bark(); // Output: Buddy says Woof!
        dog2.bark(); // Output: Max says Woof!
    }
}

Here, the Dog class defines a bark() method. Two Dog objects, dog1 and dog2, are created and each calls the bark() method.

Tips and Best Practices

  • Naming Conventions: Use camelCase for variables and methods, and PascalCase for class names to improve readability.
  • Encapsulation: Use access modifiers like private to restrict access to class fields and provide public getter and setter methods to modify them.
  • Constructor Overloading: Define multiple constructors to initialize objects in different ways.

class Book {
    String title;
    String author;

    // Default constructor
    Book() {
        this.title = "Unknown";
        this.author = "Unknown";
    }

    // Parameterized constructor
    Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}
  • Object Reusability: Create methods that can be reused across different instances of the class.
  • Avoid Memory Leaks: Ensure objects are properly dereferenced when no longer needed, especially in long-running applications.