在Java中封装示例

时间:2020-02-23 14:34:48  来源:igfitidea点击:

Encapsulation在Java中是将相关数据(变量)和功能(方法)绑定到名为Class的单个单元的过程。
封装可以通过使用公共,私有,保护或者默认等访问修改器来实现,因此程序将安全地免于其他人的未经授权访问,并且将易于维护。

我们可以创建完全封装的类

  • 使变量私密
  • 为访问变量提供Getter和Setter方法。

封装也被称为“数据隐藏(data hiding)”,因为您将变量设为私有变量,并且只能通过公共getter和setter来访问变量。

java中的封装示例:

package com.arpit.theitroad;
public class Employee{
 
	private int employeeId;
	private String employeeName;
	private String department;
 
	public int getEmployeeId() {
		return employeeId;
	}
	public void setEmployeeId(int employeeId) {
		this.employeeId = employeeId;
	}
	public String getEmployeeName() {
		return employeeName;
	}
	public void setEmployeeName(String employeeName) {
		this.employeeName = employeeName;
	}
	public String getDepartment() {
		return department;
	}
	public void setDepartment(String department) {
		this.department = department;
	}
	
	public static void main(String args[])
	{
		Employee e1=new Employee();
		e1.setEmployeeId(1);
		e1.setEmployeeName("John");
		e1.setDepartment("Sales");
		
		System.out.println("=============");
		System.out.println("Employee Id: "+e1.getEmployeeId());
		System.out.println("Employee Name: "+e1.getEmployeeName());
		System.out.println("Employee Department: "+e1.getDepartment());
	}
}

运行上面的程序时,我们将得到以下输出:

=============
Employee Id: 1
Employee Name: John
Employee Department: Sales

Java封装的优点:

  • 它提供了对数据的控制。例如:如果我们想检查员工年龄是否大于Setter方法中的18岁( setAge(int age))。我们可以在STERTER方法中轻松完成,而不会破坏任何代码。
  • 提高重新申请。
  • 使类易于用于其他客户。
  • 它可以帮助开发人员通过将它们绑定到单个单元并使用适当的访问修改器以根据需要访问代码来编写更灵活和可维护的代码。

Java中抽象与封装之间的差异:

  • 封装意味着使用吸气剂和定居者隐藏的数据。抽象意味着使用抽象类和接口隐藏实现细节。
  • 抽象更像是设计级别的概念,封装是更多的实现级别概念。