$show=/label

Encapsulation in Java with Examples

SHARE:

What is Encapsulation in Java  Encapsulation is one of the principle of OOPs. Encapsulation describes the ability of hiding data and ...

What is Encapsulation in Java 

Encapsulation is one of the principle of OOPs.

Encapsulation describes the ability of hiding data and methods of object.
Encapsulation is a process of arranging information about data and behavior into a single component like as object in Java.

Keeping all members and methods are within bounds of class. In Java, all class are under encapsulated.

If we set all fields of class as private, so no other code outside of this class can not access private variables. To access these private variables, we have to declare public methods in class.


So these private members are not accessible by outside objects or classes.

A class can have authority to modify the values using setter and getter methods of class. By using getter methods, we can make read-only and wise versa for write-only.

Encapsulation Example:

package com.java.w3schools.core.abstracts;

public class Employee {
 private String eName;
 private String location;
 public String geteName() {
  return eName;
 }
 public void seteName(String eName) {
  this.eName = eName;
 }
 public String getLocation() {
  return location;
 }
 public void setLocation(String location) {
  this.location = location;
 }
}

public class EmployeMain {
 public static void main(String[] args) {
  Employee employee = new Employee();
  employee.seteName("Jhon");
  employee.setLocation("Chicago");
  System.out.println(employee.geteName());
 }
}

Output :


Jhon

If we delete setter methods from Employee class than object will be read-only.

Encapsulation Real-time Scenario:

In any real time application, if we create a new class then the new class must be used by other programmers in the application.


See the below code developed by programmer 1.

package blog.java.w3schools.encapsulation.Home;

class Home 
{
 public int area; // in sq. feet.
 public String location;


Here, created a Home class with public instance variables first id int area and second is String location.

The below program is developed by programmer 2 and he will use Home class implemented by programmer 1.

package blog.java.w3schools.encapsulation.other.class;

public class OtherClassInApplication {

 public static void main(String[] args) {
  
  Home home1 = new Home();
  home1.area = 1500;
  home1.location = "w3schools";
 }

}

Please refer the above example program. Our application has another class OtherClassInApplication which creates an object for Home class. After creating an object, setting values for the area and location by directly accessing the variables.

After few days, programmer 1 realised that he has used wrong variable name. He changed now to areaInSqft as below.

public int areaInSqft; // Area in sq. feet.


But, this already used by programmer 2 and he will get now compile time error.
 Home home1 = new Home();
 home1.area = 1500; // Compile time error. 
 home1.location = "w3schools";

Compile time error saying "area cannot be resolved or is not a field".

If application is implemented like this then we may have to end up with many errors and difficult to maintain.

Encapsulation Rules:

To take the advantage of Encapsulation and to easy maintainability, flexibility, and extensibility of the code, your design must include the encapsulation principles.

1) Make instance variables as private.
2) Provide public accessor methods, and force calling code to use those methods rather than directly accessing the instance variable. These so-called accessor methods allow users of your class to set a variable's value or get a variable's value.
3) For these accessor methods, use the most common naming convention of set<someProperty> and get<someProperty>.


package blog.java.w3schools.encapsulation;

public class EncapsulationEx {

 public static void main(String[] args) {

  Home home1 = new Home();
  home1.setAreaInSqft(1500);
  home1.setLocation("w3schools");
 }

}

class Home {
 private int areaInSqft; // Area in sq. feet.
 private String location;

 public int getAreaInSqft() {
  return areaInSqft;
 }

 public void setAreaInSqft(int areaInSqft) {
  this.areaInSqft = areaInSqft;
 }

 public String getLocation() {
  return location;
 }

 public void setLocation(String location) {
  this.location = location;
 }
}

Summary:

Java supports Encapsulation principle but it default does not come with Encapsulation. When we write code, we have to implement it using its principles. Encapsulation provides maintainability, flexibility, and extensibility of the code.

If you like the post, Please share the post with your friends or leave your opinion in comment section.

COMMENTS

BLOGGER: 2
  1. this is very nice and clean example of encapsulation in java.
    this post is well explained in detail.
    thank you for this beautiful post.

    ReplyDelete
  2. Great post. Wonderful information and really very much useful. Thanks for sharing and keep updating.
    Are you looking for the best Java training institute in Chennai?
    Come and learn with Aorta, the best java training institute in Chennai offering the best platform to learn and get the depth of Java
    java training in chennai
    java course in chennai

    ReplyDelete
Please do not add any spam links in the comments section.

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Encapsulation in Java with Examples
Encapsulation in Java with Examples
JavaProgramTo.com
https://www.javaprogramto.com/2015/04/encapsulation-in-java.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2015/04/encapsulation-in-java.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content