- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚学堂JAVA最全教程配合JAVA300集视频课程,一集一个文档本文档配合:java300集第一季044集【最新文档更新请加入尚学堂】【专业JAVA培训机构,真正零首付入学】面向对象三大特征:继承、封装、多态封装(encapsulation)为什么需要封装?封装的作用和含义?我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?我要开车,…. 制造厂家为了方便我们使用电视,方便我们开车,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关、比如:油门。具体怎么内部实现的,我们不需要操心。需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来。这就是封装。白话:该露的露,该藏的藏专业:我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。编程中封装的具体意义便于调用者调用。良好的封装,便于修改内部代码,提高可维护性。良好的封装,可进行数据完整性检测,保证数据的有效性。使用访问控制符,实现封装范围越来越大同一个类同一个包中子类所有类private*default(即不加修饰符的时候)**protected***public****封装的使用细节属性一般使用private.(除非本属性确定会让子类继承并且使用)提供相应的get/set方法来访问相关属性.这些方法通常是public,从而提供对属性的读取操作。 (注意:boolean变量的get方法是用:is开头!)一些只用于本类的辅助性方法可以用private,希望其他类调用的方法用public。课堂代码package cn.bjsxt.oop.encapsulation01;publicclass Man {private String name;private String id;privatebooleanman;publicstaticintcc;publicstaticfinalintMAX_SPEED = 120;public String getName(){returnname;}publicvoid setName(String name){ = name;}public String getId() {returnid;}publicvoid setId(String id) {this.id = id;}publicboolean isMan() {returnman;}publicvoid setMan(boolean man) {this.man = man;}}package cn.bjsxt.oop.encapsulation01;publicclass Test01 {private String str;protectedvoid print(){String s = str;System.out.println(Test01.print());}}class Test001 extends Test01 {publicvoid pp(){super.print();}publicstaticvoid main(String[] args) {Test01 t = new Test01();t.print();}}package cn.bjsxt.oop.encapsulation01;publicclass Test02 {publicstaticvoid main(String[] args) {Test01 t = new Test01();t.print();}}package cn.bjsxt.oop.encapsulation02;import cn.bjsxt.oop.encapsulation01.Test01;publicclass Test0001 extends Test01 {publicvoid ttt(){super.print();print();}publicstaticvoid main(String[] args) {Test0001 t = new Test0001();t.print();}}package cn.bjsxt.oop.encapsulation02;import cn.bjsxt.oop.encapsulation01.Test01;publicclass Test03 {publicstaticvoid main(String[] args) {Test01 t = new Test01();//t.print();}}
文档评论(0)