Java - 封装(Encapsulation)

Encapsulation是四个基本OOP概念之一。 其他三个是继承,多态和抽象。

Java中的封装是将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制。 在封装中,类的变量将从其他类隐藏,并且只能通过其当前类的方法访问。 因此,它也被称为data hiding 。

在Java中实现封装 -将类的变量声明为private。

提供公共setter和getter方法来修改和查看变量值。

例子 (Example)

以下是演示如何在Java中实现Encapsulation的示例 -/* 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;

}

}

public 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());

}

}

这将产生以下结果 -

输出 (Output)Name : James Age : 20

封装的好处类的字段可以是只读的或只写的。

类可以完全控制其字段中存储的内容。

Java - 抽象(Abstraction)

encapsulation java_Java - 封装(Encapsulation)相关推荐

  1. inheritance中文Java语言_3.3Java语言面向对象的封装(Encapsulation)、继承(Inheritance)、多态(polymorphic)...

    封装(Encapsulation) 封装是处理对象的一个重要概念,从形式上看,封装将数据和行为组合在一个包里面,并对对象的使用者隐藏具体的实现方式,对象的数据称为实例字段(instance field ...

  2. 大数据必学Java基础(三十九):面向对象三大特性之一封装(Encapsulation)

    文章目录 面向对象三大特性之一封装(Encapsulation) 一.生活案例 二.Java中封装的理解

  3. java 封装(Encapsulation)

    关键字 描述 privite 只有类内部可以访问 protect 同一个java文件可以访问 public 公共的都可以访问 get&set package demo;import java. ...

  4. java中封装的好处_编程中封装的作用/优点

    最近学习了Java三大特性中的封装,所以在这里总结一下自己堆封装的理解和简介,给大家做出参考. 什么是封装(Encapsulation): 封装(Encapsulation)是面向对象方法的重要原则, ...

  5. C++中的封装、继承、多态

    封装(encapsulation):就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成"类",其中数据和函数都是类的 ...

  6. strcmp可以比较数组么_005 继承、封装、多态及数组初识

    1. 面向对象三大特征_继承_instanceOf (1) 用你的理解阐述一下什么是继承 子类通过继承父类来获得父类的方法和属性,本质上是一种包含和扩展的关系 (2) 继承一个类,使用什么关键字?一个 ...

  7. java面向对象程序设计第三版耿祥义pdf_java基础知识干货——封装

    很多java初学者,在学到Java面向对象方面的知识点的时候,会觉得这块的知识点真的蛮绕的,一个知识点一个知识点的往外冒,对于初学者来说区分构造器和方法就花费了一整天的时间.现在小编带大家重新过一遍知 ...

  8. 封装,抽象,继承,多态

    面向对象编程是一种编程范式或编程风格.它以类或对象作为组织代码的基本单元,并将封装.抽象.继承.多态四个特性,作为代码设计和实现的基石 . 封装(Encapsulation) 封装也叫作信息隐藏或者数 ...

  9. java隐藏方式运行,Java 数据隐藏和封装

    类由一些数据和方法组成.最重要的面向对象技术之一是,是把数据隐藏再类中,只能通过方法获取.这种技术叫作 封装(encapsulation),因为它可以把数据(和内部方法)安全的密封在这个"容 ...

最新文章

  1. 关于csgo的观看录像fps低_中国CSGO神秘天才欲初登赛场!却因这件事被无数人所质疑!!...
  2. 汇总|3D人脸重建算法
  3. CSipSimple通话记录分组
  4. 机器学习——常用核函数
  5. Windows Management Framework 中修改WinRM监听端口
  6. ASP.NET生成静态页面的简单实现
  7. 9 年前他用 1 万个比特币买两个披萨, 9 年后他把当年的代码卖给苹果, 成 GPU 挖矿之父...
  8. ArcEngine数据编辑--选择要素
  9. 蓝桥杯题目练习(摆动序列)
  10. 三种获取当前时间戳的方式
  11. 从谷歌搜索结果页中提取url与域名
  12. 公网ip和域名是干嘛的?域名由谁管理的?
  13. Python爬取百思不得姐的视频+视频的切割+给视频添加水印
  14. 深圳python 培训班价格
  15. 学计算机专业表情包,大学专业恶搞表情包,你中枪了吗
  16. Unable to configure Windows to Trust the Fiddler Root certificate.The LOG tab may contain more infor
  17. Qt for MCUs 1.9正式发布
  18. 经济学概念:货币倍增、债务证券市场、股票市场、大宗商品、期权
  19. 【echarts 中国地图射线版本】vue实现中国地图航线动画效果,地图上添加散点效果【详细注释,通俗易懂】
  20. 大家看看这个vmp壳如何下手脱壳?

热门文章

  1. mybatis学习(44):二级缓存1
  2. 第一百一十八期:运行 JavaScript 代码片段的 20 种工具
  3. 8.用MyEclipse进行JSP开发
  4. html:(20):使用下拉框进行多选和使用提交按钮提交
  5. 无线网卡共享Internet访问到电脑有线接口注意事项
  6. CSS3中的display:grid网格布局介绍
  7. VueCli3 项目结构和具体作用
  8. C++自定义对象如何支持Range-based循环语法
  9. 神经网络中的 Dropout 以及变体方法
  10. 【市场调研与分析】Intel发力移动安全领域——By Me at 20140613