网站首页 > java教程 正文
在面向对象编程中,封装(encapsulation)是将对象运行所需的资源封装在程序对象中——基本上,是方法和数据。对象是“公布其接口”。其他附加到这些接口上的对象不需要关心对象实现的方法即可使用这个对象。这个概念就是“不要告诉我你是怎么做的,只要做就可以了。”对象可以看作是一个自我包含的原子。对象接口包括了公共的方法和初始化数据。在这次分享中有什么不懂的问题,或在Java中遇到的问题都可以问小编,也可以点击「链接」观看详细视频讲解。
封装(encapsulation)
封装是面向对象的三大特征之一
封装的理念:高内聚、低耦合
封装的作用和含义
我要看电视,只需要按一下开关和换台就可以了。有必要了解电视的内部的结构吗?有必要碰碰显像管吗?制造厂家为了我们方便使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单的接口。
我们的程序设计要求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是仅暴露少量的方法给外部使用,尽量方便外部使用。
编程中封装的具体优点:
1、提高代码的安全性。
2 、提高代码的复用性。
3、“高内聚”:封装细节,便于修改内部代码,提高可维护性。
4、“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。
封装的实现——使用访问控制符
Java是使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。Java中4种“访问控制符”分别是private、default、protected、public,他们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。
【注意】关于protected的两个细节:
1、若父类和子类在同一包中,子类可访问父类的protected成员,也可以访问父类对象的protected成员。
2、若子类和父类不在同一个包中,子类可访问父类的protected成员,不能访问父类对象的protected成员。
封装的使用细节
?????? ??????
开发中封装的简单规则:
1、属性中一般使用private访问权限。属性私有后,提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:Boolean变量的get方法是is来头!)
2、方法:一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰。
猜你喜欢
- 2024-11-13 Java面向对象三大特征:封装、继承、多态
- 2024-11-13 利用Java注解的简单封装,进行的一次优化
- 2024-11-13 如何封装原生的 Java NIO 以及扩展?详细到让你分分钟搞定Netty
- 2024-11-13 Java面向对象——基础2 封装、继承、多态
- 2024-11-13 想要 Spring Data JPA/MongoDB 更易用,你应该这样封装
- 2024-11-13 Java面向对象高级特性-封装(java面向对象三大特点)
- 2024-11-13 Java基础类型与封装类型的区别与联系
- 2024-11-13 java包装类的自动封装、自动拆箱和缓存
- 2024-11-13 java程序员必备的基础知识_java面向对象之封装(二)
- 2024-11-13 Java面试基础回顾03-封装(java基础面试题及答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)