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

Popular posts from this blog

Selenium Automation for E-commerce Websites

Top 10 Demo Websites for Selenium Automation Practice

Mastering Selenium Practice: Automating Web Tables with Demo Examples

Top 10 Highest Paid Indian-Origin CEOs in the USA

14+ Best Selenium Practice Exercises to Master Automation Testing

25+ Selenium WebDriver Commands: The Complete Cheat Sheet with Examples

Selenium IDE Tutorial: How to Automate Web Testing with Easy-to-Use Interface

Automating Google Search with Selenium WebDriver: Handling AJAX Calls

AI and Machine Learning in Selenium Testing: Revolutionizing Test Automation

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