Home  >  Article  >  Java  >  How to create a immutable class in java? explain with example

How to create a immutable class in java? explain with example

Patricia Arquette
Patricia ArquetteOriginal
2024-10-08 22:07:31376browse

How to create a immutable class in java? explain with example

Creating an Immutable Class in Java

An immutable class is a class whose instances cannot be modified after they are created. This is useful for creating thread-safe applications and ensuring data integrity.

Key Characteristics of an Immutable Class

  • All fields are private and final.
  • No setter methods are provided.
  • Initialization of fields occurs through the constructor.
  • Defensive copies of mutable objects are returned when necessary.

Example of an Immutable Class

    public final class ImmutablePoint {
        private final int x;
        private final int y;

        public ImmutablePoint(int x, int y) {
            this.x = x;
            this.y = y;
        }

        public int getX() {
            return x;
        }

        public int getY() {
            return y;
        }

        // Example of returning a new instance instead of modifying the current one
        public ImmutablePoint move(int deltaX, int deltaY) {
            return new ImmutablePoint(this.x + deltaX, this.y + deltaY);
        }
    }

Usage Example

    public class Main {
        public static void main(String[] args) {
            ImmutablePoint point1 = new ImmutablePoint(1, 2);
            System.out.println("Point1: (" + point1.getX() + ", " + point1.getY() + ")");

            // Moving the point creates a new instance
            ImmutablePoint point2 = point1.move(3, 4);
            System.out.println("Point2: (" + point2.getX() + ", " + point2.getY() + ")");
            System.out.println("Point1 remains unchanged: (" + point1.getX() + ", " + point1.getY() + ")");
        }
    }

Conclusion

Creating an immutable class in Java involves defining a class with final fields and no setter methods. This ensures that once an object is created, its state cannot be changed. Using immutable classes can lead to safer and more predictable code, especially in concurrent programming scenarios.

The above is the detailed content of How to create a immutable class in java? explain with example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn