第三章java中的封装示例|
来源:网络
编辑:殇韵
时间:2022-06-19
Encapsulation
在java中是将相关数据(变量)和功能(方法)绑定到一个称为类的单元中的过程。封装可以通过使用访问修饰符来实现,例如 public、private、protected 或 default,因此您的类将不会被其他人未经授权的访问,并且易于维护。
我们可以创建完全封装的类
- 将变量设为私有
- 提供用于访问变量的 getter 和 setter 方法。
封装也被称为data hiding
因为您将变量设为私有,而变量只能通过公共 getter 和 setter 访问。
java中的封装示例:
package com.arpit.java2blog;
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封装的优点:
-
它提供对数据的控制。例如
setAge(int age)
:如果你想在 setter 方法( )中检查员工的年龄是否大于 18 岁。您可以在 setter 方法中轻松完成此操作,而无需破坏任何代码。 - 增加可重用性。
- 使课程易于其他客户使用。
- 它通过将它们绑定到一个单元中并使用适当的访问修饰符来根据需要访问代码,从而帮助开发人员编写更灵活和可维护的代码。
java中抽象与封装的区别:
- 封装意味着使用 getter 和 setter 隐藏数据。抽象意味着使用 abstract class和 interface隐藏实现细节-example/“接口”)。
- 抽象更多是设计级别的概念,而封装更多的是实现级别的概念。
这就是java中的封装。
相关文章:
- [其它]第六章JavaFutureTask示例|
- [其它]第六章JavaScheduledThreadPoolExecutor示例|
- [其它]第六章使用Callable和Future的JavaExecutorService示例|
- [其它]第六章JavanewCachedThreadPool示例|
- [其它]第六章JavanewFixedThreadPool示例|
- [其它]第五章在java中使用3个线程打印序列|
- [其它]第五章java中notify和notifyAll的区别|
- [其它]第五章我们可以在java中启动一个线程两次吗|
- [其它]第五章java中的对象级锁定与类级锁定|
- [其它]第五章Java线程连接示例|
相关推荐:
- [其它]第三章java中的抽象类|
- [其它]第四章java中的TreeMap与示例|
- [其它]第四章java中的hashcode()和equals()方法|
- [其它]第六章JavaFutureTask示例|
- [其它]计算机组成原理PDF扫描格式电子版百度云网盘下载
- [其它]程序设计语言概念(第9版)[Robert W. Sebesta]pdf格式电子版百度云网盘下载[53.8M]
- [其它]程序员必读之软件架构[Simon Brown]pdf格式电子版百度云网盘下载[41.6M]
- [其它]程序员的思维修炼 开发认知潜能的九堂课[Andy Hunt]pdf格式电子版百度云网盘下载
- [其它]程序员的职业素养[Robert C. Martin]pdf格式电子版百度云网盘下载[21.6M]
- [其它]程序员教程(第3版)[张淑平]pdf格式电子版百度云网盘下载[136.5M]
栏目分类
最新文章
热门文章
- 计算机组成原理PDF扫描格式电子版百度云网盘下载
- 硅谷之谜[吴军]pdf格式电子版百度云网盘下载[59.5M]
- 自选基金助手,一款Chrome扩展程序
- 七周七语言 理解多种编程范型[Bruce A. Tate]pdf格式电子版百度云网盘下载[9M]
- 系统集成项目管理工程师考试考眼分析与样卷解析(2014版)[软考新大纲研究组]
- 程序员面试金典(第5版)[Gayle Laakmann McDowell]pdf格式电子版百度云网盘下载[81.5M]
- 创业维艰 如何完成比难更难的事[Ben Horowitz]pdf格式电子版百度云网盘下载[65.3
- 程序员的思维修炼 开发认知潜能的九堂课[Andy Hunt]pdf格式电子版百度云网盘下载
- 图灵的秘密 他的生平、思想及论文解读[Charles Petzold]pdf格式电子版百度云网盘下
- OCP OCA认证考试指南全册:Oracle Database 11g(1Z0-051、1Z0-052、1Z0-053)[John Watson]pdf格式