The whole idea
behind encapsulation is to hide the implementation details from users.
If a
data member is private it means it can only be accessed within the same class.
No outside class can access private data member (variable) of other class.
However if we setup public getter and setter methods to update (for e.g.
void setSSN(int ssn)
)and read (for e.g. int getSSN()
) 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.
public class EncapsulationDemo{
private int ssn;
private String empName;
private int empAge;
//Getter and Setter methods
public int getEmpSSN(){
return ssn;
}
public String getEmpName(){
return
empName;
}
public int getEmpAge(){
return
empAge;
}
public void setEmpAge(int newValue){
empAge = newValue;
}
public void setEmpName(String newValue){
empName = newValue;
}
public void setEmpSSN(int newValue){
ssn = newValue;
}
}
public class EncapsTest{
public static void main(String args[]){
EncapsulationDemo obj = new EncapsulationDemo();
obj.setEmpName("Mario");
obj.setEmpAge(32);
obj.setEmpSSN(112233);
System.out.println("Employee Name: " + obj.getEmpName());
System.out.println("Employee SSN: " + obj.getEmpSSN());
System.out.println("Employee Age: " + obj.getEmpAge());
}
}
Output:
Employee Name: Mario
Employee SSN: 112233
Employee Age: 32
java programming examples for rookies
ReplyDeletejava sample | Recursive factorial method