在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

实例

让我们来看一个java封装类的例子:

/* 文件名: 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方法是外部类访问该类成员变量的入口。

通常情况下,这些方法被称为getter和setter方法。

因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。

通过如下的例子说明EncapTest类的变量怎样被访问:

/* F文件名 : 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());

}

}

以上代码编译运行结果如下:

Name : James Age : 20

java 文件封装_Java 封装相关推荐

  1. java 如何封装类_Java封装一个类怎么实现?

    封装 将某些东西包装在一起,然后以新的完整形式呈现出来: 隐藏属性.方法或实现细节的处理方式称为封装: 封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题. 构建对象的方法 和数组相似 ...

  2. java 文件路径表达式_Java基础(二十二) Lambda表达式和File类

    函数式编程思想 强调的是做什么,而不是以什么样的方式来做,它忽略了面向对象的复杂语法,只要能够获取到结果,谁去做的,怎么做的,都不重要,重要的是结果,不重视过程. 冗余的Runnable代码 传统的写 ...

  3. java文件选择器_java中文件选择器JFileChooser的用法

    一般的说,大家用JFileChooser有两种用法:打开文件或文件夹.保存文件或文件夹.本文就打开和保存文件来介绍JFileChooser的用法. 头文件的声明: import javax.swing ...

  4. 另一个.java文件调用_java - 如何调用另一个类“写文件”的方法? - SO中文参考 - www.soinside.com...

    在我的Android应用程序,我想有一类处理所有"写入/读取到文本文件"的行动.所以,我根本就调用我的readUserFile.java文件我想的方法.但我的方法将不会在该文件中工 ...

  5. java 文件分隔符_Java文件分隔符

    java.io.File类包含四个静态分隔符变量.在这里,我们将了解它们以及何时使用它. File.separator:平台相关的默认名称 - 分隔符是String.对于Windows,它是'\',对 ...

  6. java 文件比较_java 四种写文件比较

    import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import ja ...

  7. java 文件输出流_Java 文件输出流

    Java IO教程 - Java文件输出流 创建输出流 要写入文件,我们需要创建一个FileOutputStream类的对象,它将表示输出流.// Create a file output strea ...

  8. java文件序列化_Java序列化与反序列化,文件操作

    参考两篇博客: http://blog.csdn.net/moreevan/article/details/6697777 http://blog.csdn.net/moreevan/article/ ...

  9. java 文件包含_java的文件包含漏洞

    java的文件包含分静态包含的动态包含两种: 静态包含: 动态包含: 两者的区别我就不赘述了. 就目前了解静态包含是不存在问题的,因为file的参数不能动态赋值 而动态包含是存在问题的 我们常说的ph ...

最新文章

  1. 机器学习中的异常检测手段
  2. 对于EXCEL模板程序的处理
  3. Excel多因素不重复方差分析
  4. 友盟消息推送服务器demo,友盟消息推送总结
  5. 【转】GCC警告选项例解 -- 不错
  6. php 验证 e mail,PHP表单验证Name,E-mail,和URL-三体教程在线编辑器
  7. 苹果手机与安坐手机input输入框ios 会有灰色背景解决方法
  8. linux制作光盘镜像文件
  9. C++远征离港篇-学习笔记
  10. android 利用cmdline,将參数从preloader传递到kernel
  11. wordpress常用插件
  12. 机器人学导论学习笔记(持续更新)
  13. 中国鲷鱼养殖产量和捕捞产分析,养殖产业区域集中度高「图」
  14. Linux生成掩码的计算,谈子网掩码及其计算
  15. 在VirtualBox安装Ubuntu虚拟机实现文件夹共享
  16. android 虚拟按键遮挡布局,完美解决虚拟按键遮盖底部视图的问题
  17. 怎么将PDF翻译成中文?这篇文章教会你
  18. 计算机网络知识点————交换机
  19. 计算机b级考试题型分值分布,大学英语四级考试题型和分值分配
  20. 趣图:程序员的日常工作

热门文章

  1. netbeans7.4_NetBeans 7.4的本机Java打包
  2. 发现大量Java原语集合处理
  3. 通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表
  4. 不要在facelets中重复表情
  5. Java 8 Friday Goodies:新的新I / O API
  6. Spring Security使用Hibernate实现自定义UserDetails
  7. Java并发– CyclicBarrier示例
  8. MongoDB与Spring Data项目
  9. Spring远程支持和开发RMI服务
  10. 使用Spring 3引导Web应用程序