Encapsulation is a more useful fundamental OOP concept. The other three are inheritance, polymorphism, and abstraction. Encapsulation in Java is data variables and methods together as a single unit. In encapsulation, the variables of a class will be hidden from other classes, and can be accessed only through the methods of their current class. Therefore, it is also known as data hiding.
- Declare the variables of a class as private.
- Provide public setter and getter methods to modify and view the variables values.
Example:
/* File name : EncapTest.java */public class EncapTest { private String name; private String idNum; private int age; public int getAge() { return age; } public String getName() { return name; } public String getIdNum() { return idNum; } public void setAge( int newAge) { age = newAge; } public void setName(String newName) { name = newName; } public void setIdNum( String newId) { idNum = newId; } }
The public setXXX() and getXXX() methods are the access points of the instance variables of the EncapTest class:
/* File name : RunEncap.java */public class RunEncap { public static void main(String args[]) { EncapTest encap = new EncapTest(); encap.setName("Sophie"); encap.setAge(28); encap.setIdNum("12343ms"); System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge()); } }
Output Name
James Age : 20