0% found this document useful (0 votes)
3 views11 pages

Java Encapsulation

The document explains Java encapsulation, a core concept of object-oriented programming that involves bundling data and methods within a class while restricting access to the data through private variables and public getter/setter methods. It provides examples of fully encapsulated classes, read-only classes, and write-only classes, demonstrating how to implement encapsulation in Java. The benefits of encapsulation include control over data access and the ability to create read-only or write-only attributes.

Uploaded by

zabronjoshua003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views11 pages

Java Encapsulation

The document explains Java encapsulation, a core concept of object-oriented programming that involves bundling data and methods within a class while restricting access to the data through private variables and public getter/setter methods. It provides examples of fully encapsulated classes, read-only classes, and write-only classes, demonstrating how to implement encapsulation in Java. The benefits of encapsulation include control over data access and the ability to create read-only or write-only attributes.

Uploaded by

zabronjoshua003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Page 1 of 11

Home Whiteboard Online Compilers Practice Articles AI Assistant

Chapters Categories

SQL HTML CSS Javascript Python Java C C++ PHP Scala C#

Java - Encapsulation

Java Encapsulation
Encapsulation is one of the four fundamental OOP concepts. The other three are
inheritance, polymorphism, and abstraction.

Encapsulation in Java is a mechanism of wrapping the data (variables) and code acting
on the data (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.

Achieving Encapsulation in Java


To achieve encapsulation in Java −

Declare the variables of a class as private.

Provide public setter and getter methods to modify and view the variables values.

Java Encapsulation Example


Following is an example that demonstrates how to achieve Encapsulation in Java −

/* File name : EncapTest.java */


public class EncapTest {
private String name;
private String idNum;
private int age;

public int getAge() {


return age;
Page 2 of 11

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. Normally, these methods are referred as getters and
setters. Therefore, any class that wants to access the variables should access them
through these getters and setters.

The variables of the EncapTest class can be accessed using the following program −

/* File name : RunEncap.java */


public class RunEncap {

public static void main(String args[]) {


EncapTest encap = new EncapTest();
encap.setName("James");
encap.setAge(20);
encap.setIdNum("12343ms");

System.out.print("Name : " + encap.getName() + " Age : " +


encap.getAge());
}
Page 3 of 11

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;
}
}

Output

Name : James Age : 20

Benefits of Encapsulation
Page 4 of 11

The fields of a class can be made read-only or write-only.

A class can have total control over what is stored in its fields.

Java Encapsulation: Read-Only Class


A read-only class can have only getter methods to get the values of the attributes, there
should not be any setter method.

Example: Creating Read-Only Class

In this example, we defined a class Person with two getter methods getName() and
getAge(). These methods can be used to get the values of attributes declared as private
in the class.

Open Compiler

// Class "Person"
class Person {
private String name = "Robert";
private int age = 21;

// Getter methods
public String getName() {
return this.name;
}

public int getAge() {


return this.age;
}
}

public class Main {


public static void main(String args[]) {
// Object to Person class
Person per = new Person();

// Getting and printing the values


System.out.println("Name of the person is: " + per.getName());
System.out.println("Age of the person is: " + per.getAge());
Page 5 of 11

}
}

Output

Name of the person is: Robert


Age of the person is: 21

Java Encapsulation: Write-Only Class


A write-only class can have only setter methods to set the values of the attributes, there
should not be any getter method.

Example: Creating Write-Only Class


In this example, we defined a class Person with two setter methods setName() and
setAge(). These methods can be used to set the values of attributes declared as private
in the class.

Open Compiler

// Class "Person"
class Person {
private String name;
private int age;

// Setter Methods
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}

public class Main {


public static void main(String args[]) {
// Object to Person class
Person per = new Person();
Page 6 of 11

// Setting the values


per.setName("Robert");
per.setAge(21);
}
}

Java Encapsulation: More Examples

Example 1: Person Class (Fully Encapsulated)

This example creates a fully encapsulated class named "Person". This class has private
class attributes, setter, and getter methods.

Open Compiler

// Class "Person"
class Person {
private String name;
private int age;

// Setter Methods
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}

// Getter methods
public String getName() {
return this.name;
}

public int getAge() {


return this.age;
}
}

// The Main class to test encapsulated class "Person"


public class Main {
public static void main(String args[]) {
Page 7 of 11

// Objects to Person class


Person per1 = new Person();
Person per2 = new Person();

// Setting the values


per1.setName("Robert");
per1.setAge(21);

per2.setName("Riyan");
per2.setAge(22);

// Printing the values


System.out.println("Person 1: Name : " + per1.getName() + " Age : " +
per1.getAge());
System.out.println("Person 2: Name : " + per2.getName() + " Age : " +
per2.getAge());

}
}

Output

Person 1: Name : Robert Age : 21


Person 2: Name : Riyan Age : 22

Example 2: Employee Class (Fully Encapsulated)

This example creates a fully encapsulated class named "Employee". This class has
private class attributes, setter, and getter methods.

Open Compiler

// Class "Employee"
class Employee {
private String emp_name;
private String emp_id;
private double net_salary;

// Constructor
public Employee(String emp_name, String emp_id, double net_salary) {
Page 8 of 11

this.emp_name = emp_name;
this.emp_id = emp_id;
this.net_salary = net_salary;
}

// Getter methods
public String getEmpName() {
return emp_name;
}

public String getEmpId() {


return emp_id;
}

public double getSalary() {


return net_salary;
}

// Setter methods
public void setEmpName(String emp_name) {
this.emp_name = emp_name;
}

public void setEmpId(String emp_id) {


this.emp_id = emp_id;
}

public void setSalary(double net_salary) {


this.net_salary = net_salary;
}
}

// The Main class to test encapsulated class "Employee"


public class Main {
public static void main(String args[]) {
// Objects to Employee class
// First object - setting values using constructor
Employee emp = new Employee("Robert", "EMP001", 75450.00);

// Printing data
System.out.println("Employee (Intial Values):");
System.out.println(emp.getEmpId() + " , " + emp.getEmpName() + " , " +
Page 9 of 11

emp.getSalary());

// Updating values using setter methods


emp.setEmpName("Riyan");
emp.setEmpId("EMP002");
emp.setSalary(90500.00);

// Printing data
System.out.println("Employee (Updated Values):");
System.out.println(emp.getEmpId() + " , " + emp.getEmpName() + " , " +
emp.getSalary());
}
}

Output

Employee (Intial Values):


EMP001 , Robert , 75450.0
Employee (Updated Values):
EMP002 , Riyan , 90500.0

TOP TUTORIALS

Python Tutorial

Java Tutorial
C++ Tutorial
C Programming Tutorial

C# Tutorial
PHP Tutorial
R Tutorial

HTML Tutorial
CSS Tutorial
JavaScript Tutorial

SQL Tutorial

TRENDING TECHNOLOGIES
Page 10 of 11

Cloud Computing Tutorial


Amazon Web Services Tutorial
Microsoft Azure Tutorial

Git Tutorial
Ethical Hacking Tutorial
Docker Tutorial

Kubernetes Tutorial
DSA Tutorial
Spring Boot Tutorial

SDLC Tutorial
Unix Tutorial

CERTIFICATIONS

Business Analytics Certification

Java & Spring Boot Advanced Certification


Data Science Advanced Certification
Cloud Computing And DevOps

Advanced Certification In Business Analytics


Artificial Intelligence And Machine Learning
DevOps Certification

Game Development Certification


Front-End Developer Certification
AWS Certification Training

Python Programming Certification

COMPILERS & EDITORS

Online Java Compiler


Online Python Compiler
Online Go Compiler

Online C Compiler
Online C++ Compiler
Online C# Compiler

Online PHP Compiler


Online MATLAB Compiler
Online Bash Terminal

Online SQL Compiler


Page 11 of 11

Online Html Editor

ABOUT US | OUR TEAM | CAREERS | JOBS | CONTACT US | TERMS OF USE |

PRIVACY POLICY | REFUND POLICY | COOKIES POLICY | FAQ'S

Tutorials Point is a leading Ed Tech company striving to provide the best learning material on
technical and non-technical subjects.

© Copyright 2025. All Rights Reserved.

You might also like