05-面向对象:构造方法,封装与隐藏.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
05-面向对象:构造方法,封装与隐藏

《Java程序设计》 上一章内容回顾 4. 面向对象:定义类和使用对象 类和对象 类的定义(包括属性和方法的定义) 对象的创建和使用 对象和引用 this引用 方法 方法重载 类方法 成员变量和局部变量 成员变量:类属性和实例属性 局部变量:形参、方法局部变量和代码块局部变量 5. 面向对象:构造方法,封装与隐藏 5.1 深入构造器 5.1.1 使用构造器执行初始化 5.1.2 构造器的重载 5.2 隐藏、封装与访问控制 5.2.1 理解封装 5.2.2 使用访问控制符 5.3 包(package) 5.3.1 包及其作用 5.3.2 package和import语句 5.3.3 Java的常用包 5.4 课后作业 5.1 深入构造器 5.1.1 使用构造器执行初始化 构造器是一个特殊的方法,用于创建类的实例。 构造器最大的用处就是在创建对象时执行初始化。 如果程序员没有为自定义的Java类提供任何构造器,则系统会为这个类提供一个默认构造器,而且是无参的构造器,创建对象时系统为这个对象的属性进行默认初始化,这种默认初始化把所有基本类型的属性设置为0(对数值型属性)或false(对布尔型属性),把所有引用类型的属性设置为null。 一旦程序员提供了自定义的构造器,则系统不再提供默认的构造器。 构造器的例子如下。 5.1 深入构造器 5.1.1 使用构造器执行初始化 程序清单:chapter05\TestConstructor.java 5.1 深入构造器 5.1.2 构造器的重载 如果需要为自定义类提供多种初始化方法,则需要重载构造器。 (1) 构造器的重载和方法的重载一样,都是方法名相同,形参列表不相同。 构造器重载的例子如下。 程序清单:chapter05\ConstructorOverload.java 5.1 深入构造器 5.1.2 构造器的重载 5.1 深入构造器 5.1.2 构造器的重载 (2) 在构造器中可通过this来调用另外一个重载的构造器 例子如下。 程序清单:chapter05\Apple.java 5.1 深入构造器 5.1.2 构造器的重载 5.2 隐藏、封装与访问控制 5.2.1 理解封装 前面很多样例程序为简便起见,未能遵循封装原则:通过对象可以直接设置属性的值,如d.year = 2015。虽然语法上没有问题,但违背了封装原则。 现实中的例子: 对绝大多数司机来说,汽车只是一个代步工具;如果他仅仅只是开汽车,他需要接触到汽车内部每个零部件吗? 如果汽车内部每个零部件司机都能轻易接触到,难免司机会误操作而导致不堪设想的后果。 汽车做了很好的封装,隐藏了内部细节,只提供一些开关、按钮、拉杆等部件来实现汽车的功能。 因此,现实中的产品都做了非常好的封装! 5.2 隐藏、封装与访问控制 5.2.1 理解封装 5.2 隐藏、封装与访问控制 5.2.1 理解封装 理解封装(Encapsulation):封装是面向对象的三大特征之一(其他两个是继承和多态)。 封装:指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。 封装包含两方面含义: 合理隐藏。 合理暴露。 封装是通过访问控制符实现的。 5.2 隐藏、封装与访问控制 5.2.2 使用访问控制符 Java提供了三个访问控制符:private、protected和public,另外还有一个不加任何访问控制符的访问控制级别(即default),这样就有四个访问控制级别,其中default并没有对应的访问控制符,当不使用任何访问控制符来修饰类或类成员时,系统默认使用该访问控制级别。Java的访问控制级别由小到大依次如下图所示。 5.2 隐藏、封装与访问控制 5.2.2 使用访问控制符 这四个访问控制级别详细介绍如下: private(私有)访问控制权限:如果类里一个成员(包括属性和方法)使用private来修饰,则这个成员只能在该类的内部被访问。 default(默认)访问权限,也称为包访问权限:如果类里一个成员(包括属性和方法)或者一个外部类不使用任何访问控制符修饰,则称它是默认访问控制,default访问控制的成员或外部类可以被相同包中的其他类访问。 【注意】外部类是相对于内部类而言的。在类里还可以定义完整的类,后者称为内部类;因此外部类就是不被任何类包含的类。本教案不涉及内部类,因此本教案定义的所有类都是外部类。 5.2 隐藏、封装与访问控制 5.2.2 使用访问控制符 protected(保护)访问权限,也称为子类访问权限:如果类里一个成员(包括属性和方法)使用protected修饰,那么这个成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。 public(公共)访问权限

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档