Have a question?
Message sent Close
View Categories

What is Encapsulation? 

What is Encapsulation? 

📄
filename.js
class Person {

    // Private variables

    private String name;

    private int age;

    // Public constructor

    public Person(String name, int age) {

        this.name = name;

        this.age = age;

    }

    // Public getter for name

    public String getName() {

        return name;

    }

    // Public setter for name

    public void setName(String name) {

        this.name = name;

    }

    // Public getter for age

    public int getAge() {

        return age;

    }

    // Public setter for age

    public void setAge(int age) {

        if (age > 0) { // Ensuring age is positive

            this.age = age;

        }

    }

    // Method to display person details

    public void displayInfo() {

        System.out.println("Name: " + name);

        System.out.println("Age: " + age);

    }

}

public class Main {

    public static void main(String[] args) {

        // Creating a Person object

        Person person = new Person("Alice", 30);

        // Accessing private variables via public methods

        person.displayInfo();

        // Modifying data via setter

        person.setName("Bob");

        person.setAge(35);

        // Display updated information

        person.displayInfo();

        // Direct access to private variables is not allowed

        // person.name = "Charlie"; // Error: name has private access in Person

        // person.age = -5; // Error: age has private access in Person

    }

}