What is Encapsulation in Java?

Encapsulation is a mechanism of binding code and data together in a single unit. Let’s take an example of Capsule. Different powdered or liquid medicines are encapsulated inside a capsule. Likewise in encapsulation, all the methods and variables are wrapped together in a single class.


However if we setup public getter and setter methods to update (for example void setAge(int age))and read (for example  int getAge()) the private data fields then the outside class can access those private data fields via public methods.
This way data can only be accessed by public methods thus making the private fields and their implementation hidden for outside classes. That’s why encapsulation is known as data hiding. Lets see an example to understand this concept better.
Example of Encapsulation:
/* Create a class Encapsulation.java */
public class Encapsulation {
   private String name;
   private int age;

   public int getAge() {
      return age;
   }

   public String getName() {
      return name;
   }

   public void setAge( int newAge) {
      age = newAge;
   }

   public void setName(String newName) {
      name = newName;
   }
}

File TestEncap.java
public class TestEncap {

   public static void main(String args[]) {
      Encapsulation encap = new Encapsulation();
      encap.setName("Vinni");
      encap.setAge(25);

      System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
   }
}

Output

Name : Vinni Age : 25

Click here to find complete Java Tutorials Series
Java Inheritance   << Previous     ||     Next >>   Java Abstraction

Comments

Post a Comment

Popular posts from this blog

Top 51 Most Important Selenium WebDriver Interview Questions

17 Best Demo Websites for Automation Testing Practice

Automation Practice: Automate Amazon like E-Commerce Website with Selenium

Mastering Selenium WebDriver: 25+ Essential Commands for Effective Web Testing

Top 7 Web Development Trends in the Market

Java Regular Expressions: A Comprehensive Guide with Examples and Best Practices

How to Automate Google Search with Selenium WebDriver

Python Behave Tutorial: A Comprehensive Guide to Behavior-Driven Development (BDD)

Handle Multiple Browser Tabs and Alerts with Selenium WebDriver

Java Date Format Validation with Regular Expressions: A Step-by-Step Guide