JAVA从入门到精通之深入讲解Java-封装
范佺菁 2018-06-05 来源 : 阅读 1513 评论 0

摘要:在JAVA从入门到精通到面向对象之后,我们了解到面向对象的三大特性:封装、继承和多态,大家在学习封装的时候有没有这样的疑问——封装和不封装有什么区别呢?希望阅读本文后对大家学习JAVA从入门到精通有所帮助。

在JAVA从入门到精通到面向对象之后,我们了解到面向对象的三大特性:封装、继承和多态,大家在学习封装的时候有没有这样的疑问——封装和不封装有什么区别呢?希望阅读本文后对大家学习JAVA从入门到精通有所帮助。

首先让我们来了解一下什么是封装。封装就是指讲对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。简单讲就是把该隐藏的隐藏起来,把该暴露的暴露出来。当然我们要达到封装就要使用到访问修饰符:private、default、protected和public。
private:私有的,又称当前类访问权限,只要使用private修饰就表示只能在同类中可以访问,外界将无法访问,内部的信息都被隔绝,对于外界来说也就是隐藏了
default:包访问权限,一般就是什么都不写
protected:子类访问权限
public:公共访问权限,权限最大,谁都能访问
如图:
JAVA从入门到精通之深入讲解Java-封装
如上所说,我们可以看出根据我们需要的权限不同,只要使用好访问修饰符即可,如果我们想把类的内部的信息和外界隔绝我们就可以使用private来修饰我们要隔绝的信息,但是我们的问题来了,一旦隐藏了就无法对其操作了,比如:修改,查看等,那这样我们还要这个信息做什么呢?还好上面也提到我们可以使用公共的方法来对这些隐藏的信息在该类的内部进行操作和访问,这样我们只要使用类中的该公共的方法就可以了,我们讲到这里,各位看官有没有疑问,既然公共方法能够访问,那和不封装直接访问有啥区别呢?这样的操作不还是让外界访问了嘛。

那我们讲讲封装与不封装的区别,如果不封装信息,则导致外界可以随意访问,可以说是无法无天,没有任何约束的机制,而封装以后就不一样了,只能通过本类的公共的方法来操作和访问信息,看似和不封装一样,但是其实仔细想想还是有区别的,因为绕了一个远路——使用公共方法,所以在这个公共方法上我们可以做些文章,可以在公共方法中写入一些约束的条件,比如:对于年龄赋值的时候,在公共方法中可以对它进行约束,年龄不能过大,否则将不会被赋值成功,由此看得出封装与不封装还是有很大的区别,并不是一样。

随时欢迎您加微信号(Iotek666),进行交流,本微信号会不定期推送技术相关优质文章、热点资讯、视频资源及生活趣事,更乐意与您一起交流IT知识,让我们在闲暇之余巩固一下自己的知识体系 ,扩充一下自己的知识面。快利用琐碎时间给自己充电吧!

希望对JAVA有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言JAVA频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!

  • 27
    文章
  • 6558
    人气
  • 90%
    受欢迎度

已有48人表明态度,90%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
Java语言-深度理解Java变量
经验技巧 100% 的用户喜欢
论大数据和人工智能的区别
经验技巧 88% 的用户喜欢
WEB前端学习之仿百度—布局使用
经验技巧 100% 的用户喜欢
JAVA语言之Eclipse快捷键总汇
经验技巧 100% 的用户喜欢
HTML5+CSS3从入门到精通中你需要知道的!
经验技巧 100% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
程光淼
程光淼 联系TA
精通C、C++等语言、智能芯片开发
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程