- Collection Framework in JavaCollections Class in JavaList Interface in Java with ExamplesArrayList in JavaVector Class in JavaLinkedList in JavaQueue Interface In JavaPriorityQueue in JavaSet in JavaHashSet in JavaLinkedHashSet in JavaMap in the JavaHashMap in JavaHashtable in JavaLinkedHashMap in Java
Encapsulation in Java
Encapsulation is one of the core principles of object-oriented programming (OOP), which emphasizes the bundling of data and methods within a single unit. This unit is called a class and encapsulation allows us to restrict access to the internal workings of the class. Encapsulation in Java is achieved through the use of access modifiers such as public, private, and protected. In this blog post, we will discuss the concept of encapsulation in Java and provide an example to demonstrate its usage.
Example of Encapsulation in Java
Let's consider a simple example of a class called Person
which encapsulates data related to a person's name and age. The class has two private fields - name
and age
- and two public methods - getName()
and getAge()
- to access the values of these fields. We have used the private
access modifier for the fields to restrict their access to only within the class. This ensures that the values of these fields can only be modified by the methods within the same class.
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
In this example, we have provided public methods setName()
and setAge()
to modify the values of the private fields name
and age
. By doing so, we have restricted the access to these fields to only within the class while still allowing users of the class to modify these fields through the methods provided.
Now, let's consider a scenario where a user of the Person
class wants to modify the name of the person. They would use the setName()
method provided by the class to do so, as shown below:
Person person = new Person();
person.setName( "John" );
In this way, encapsulation provides a layer of abstraction that separates the internal workings of the class from the external world. Users of the class need not worry about how the class stores and manipulates its data; they can simply use the public methods provided by the class to interact with it.
Benefits of Encapsulation
Encapsulation provides several benefits, including:
Data hiding: Encapsulation allows us to hide the internal details of a class and expose only the relevant information to the outside world. This helps to prevent unauthorized access to the data.
Modularity: Encapsulation allows us to create self-contained and reusable code blocks that can be used in different parts of the program. This helps to improve code maintainability and reduce code duplication.
Flexibility: Encapsulation allows us to change the internal implementation of a class without affecting the external interface. This helps to ensure that changes to the internal workings of a class do not break the code that uses it.
Conclusion
Encapsulation is an important concept in Java programming that allows us to create robust and maintainable code. By encapsulating data and methods within a single unit, we can restrict access to the internal workings of a class and provide a higher level of abstraction. This helps to improve code quality, maintainability, and reusability.