Java Encapsulation

As we know, there are four fundamental Object Oriented Programming (OOP) concepts, in which the encapsulation are the one , and the other three are polymorphism, inheritance, and abstraction.

Encapsulation is a technique of making the fields in a class private and allowing access to the fields through the public methods. If a field is declared as private, then it can't be accessed by anyone outside the class, because of that, hiding the fields inside the class. For this reason, encapsulation is also known as data hiding.

Encapsulation as Protective Barrier

Encapsulation can be accounted as a protective barrier which prevents the code and data which being randomly accessed by the other code which is defined outside the class. Access to the data and the code is tightly controlled by an interface.

The Encapsulation's main benefit is the ability to modify our implemented code without breaking the other's code who use our code. Therefore, with this feature, Encapsulation gives maintainability and flexibility to our code.

Java Encapsulation Example

Here is an example program in Java, helps in understanding the concept and use of encapsulation in Java programming. This is JavaEncapsulationCheck.java file:

/* Java Program Example - Java Encapsulation */
 
public class JavaEncapsulationCheck
{
   private String studName;
   private String studIdNum;
   private int studAge;
   public int getStudAge()
   {
      return studAge;
   }   
   public String getStudName()
   {
      return studName;
   }
   public String getStudIdNum()
   {
      return studIdNum;
   }
   public void setStudAge(int temp)
   {
      studAge = temp;
   }
   public void setStudName(String temp)
   {
      studName = temp;
   }
   public void setStudIdNum(String temp)
   {
      studIdNum = temp;
   }
}

The public methods are the access points to the class's fields from outside the Java world. Generally, these methods are referred as getters and setters. Therefore, any class, wants to access the variables, should access through these getters and setters. The variables of the class named JavaEncapsulationCheck can be access as shown here in the following example. This is RunJavaEncapsulation.java file:

/* Java Program Example - Java Encapsulation */
 
public class RunJavaEncapsulation
{
   public static void main(String args[])
   {
      JavaEncapsulationCheck encheck = new JavaEncapsulationCheck();
      encheck.setStudName("Deepak");
      encheck.setStudAge(18);
      encheck.setStudIdNum("12343ms");
      System.out.print("Name = "+ encheck.getStudName() +", Age = "+ encheck.getStudAge());
      }
}

Here is the sample output produced by the above Java program:

Name = Deepak, Age = 18

Java Online Test


« Previous Tutorial Next Tutorial »