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 Highest Paid Indian-Origin CEOs in the USA

Top 7 Web Development Trends in the Market

Top 10 Indian Startups Making Waves in 2023

Web Page Testing: Best Practices for QA and Enhancing User Experience

How to Solve Easily the Reader-Writer Locks in Golang

AI and Machine Learning in Selenium Testing: Revolutionizing Test Automation

14+ Best Selenium Practice Exercises to Master Automation Testing

Understanding Cryptocurrency: A Beginner's Guide to Bitcoin and Ethereum

Mastering Selenium Practice: Automating Web Tables with Demo Examples