Encapsulation in JavaEncapsulation in Java is a process of wrapping code and data together into a single unit, for example, a capsule which is mixed of several medicines. We can create a fully encapsulated class in Java by making all the data members of the class private. Now we can use setter and getter methods to set and get the data in it. The Java Bean class is the example of a fully encapsulated class. Advantage of Encapsulation in JavaBy providing only a setter or getter method, you can make the class read-only or write-only. In other words, you can skip the getter or setter methods. It provides you the control over the data. Suppose you want to set the value of id which should be greater than 100 only, you can write the logic inside the setter method. You can write the logic not to store the negative numbers in the setter methods. It is a way to achieve data hiding in Java because other class will not be able to access the data through the private data members. The encapsulate class is easy to test. So, it is better for unit testing. The standard IDE's are providing the facility to generate the getters and setters. So, it is easy and fast to create an encapsulated class in Java. Simple Example of Encapsulation in JavaLet's see the simple example of encapsulation that has only one field with its setter and getter methods. File: Student.java File: Test.java Compile By: javac -d . Test.java Run By: java com.javatpoint.Test Output: vijay Read-Only classNow, you can't change the value of the college data member which is "AKG". Write-Only classNow, you can't get the value of the college, you can only change the value of college data member. Another Example of Encapsulation in JavaLet's see another example of encapsulation that has only four fields with its setter and getter methods. File: Account.java File: TestAccount.java Test it NowOutput: 7560504000 Sonoo Jaiswal [email protected] 500000.0 Next TopicObject class in java |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India