- Java教程
- Java - 主页
- Java - 概述
- Java - 环境设置
- Java - 基本语法
- Java - 变量类型
- Java - 基本数据类型
- Java - 基本运算符
- Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - 如果-否则
- Java-开关
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - 中断
- Java - 继续
- 面向对象编程
- Java - 对象和类
- Java - 方法
- Java - 构造函数
- Java - 访问修饰符
- Java-继承
- Java-多态性
- Java - 重写
- Java-抽象
- Java-封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java 数据类型
- Java - 字符
- Java 文件处理
- Java - 文件和 I/O
- Java 错误与异常
- Java - 异常
- Java多线程
- Java-多线程
- Java同步
- Java-同步
- Java-线程间通信
- Java-线程死锁
- Java-线程控制
- Java网络
- Java-网络
- Java-URL 处理
- Java - 泛型
- Java集合
- Java - 集合
- Java列表接口
- Java - 列表接口
- Java队列接口
- Java - 队列接口
- Java地图接口
- Java - 地图接口
- Java - SortedMap 接口
- Java设置接口
- Java - 设置接口
- Java - SortedSet 接口
- Java数据结构
- Java - 数据结构
- Java-枚举
- Java 集合算法
- Java - 集合
- Java - 迭代器
- Java - 比较器
- Java杂项
- Java - 正则表达式
- Java-序列化
- Java - 发送电子邮件
- Java - Applet 基础知识
- Java - 文档
- Java 有用资源
- Java - 问题与解答
- Java - 快速指南
- Java - 有用的资源
- Java - 讨论
- Java - 示例
Java-封装
封装是四个基本的 OOP 概念之一。另外三个是继承、多态和抽象。
Java 中的封装是一种将数据(变量)和作用于数据的代码(方法)包装在一起作为一个单元的机制。在封装中,一个类的变量将对其他类隐藏,并且只能通过当前类的方法来访问。因此,也称为数据隐藏。
在Java中实现封装 -
将类的变量声明为私有。
提供公共的setter和getter方法来修改和查看变量值。
例子
以下是演示如何在 Java 中实现封装的示例 -
/* File name : EncapTest.java */ 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; } }
公共 setXXX() 和 getXXX() 方法是 EncapTest 类的实例变量的访问点。通常,这些方法称为 getter 和 setter。因此,任何想要访问变量的类都应该通过这些 getter 和 setter 来访问它们。
可以使用以下程序访问 EncapTest 类的变量 -
/* 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()); } } 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; } }
输出
Name : James Age : 20
封装的好处
类的字段可以设置为只读或只写。
类可以完全控制其字段中存储的内容。