- 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 SE 第三讲 面向对象三大特性 第一节 Encapsulation (封装) 封装的三大好处 专业分工 隐藏信息/实现细节 访问权限控制 Package(包) 功能: 将一组java文件组织在一起 强内聚 弱耦合 创建独一无二的包名 Java 包的命名规则全部使用小写字母,包括中间的字也是如此 按照惯例,package名称的第一部分是反顺序的类的创建者的Internet 域名。 导入包(import) Access Control(访问控制) 属性和方法的访问控制 public访问权限:任何地方的类都可以访问到。 protected访问权限:在同一个包中的类可以访问;包外的子类可以继承,但不能访问。 默认包访问权限: 在同一个包中的类可以访问到。 private访问权限:只能在定义它的类里访问。 类(普通类,非内部类)的访问控制 public访问权限: 任何地方的类都可以访问到。 默认包访问权限:在同一个包中的类可以访问到。 Access Control(访问控制) 方法的访问控制 public访问权限: 任何地方的类都可以访问到 protected访问权限:在同一个包中的类可以访问;包外的子类可以继承,但不能访问。 默认包访问权限: 在同一个包中的类可以访问到 private访问权限: 只能在定义它的类里访问 第二节 Inheritance (继承) Java语言规范对继承的定义 定义一个父类 class 父类名 { } 定义一个子类 class 子类名 extends 父类名 { } 我们就说子类继承父类 正确理解继承 子类是父类更加详细的分类 是一种一般化与特殊化的关系 Java 的标准根源类java.lang.Object 进行继承 继承的目的是实现代码复用 Java只支持单根继承 只是采用它的形式并在其中添加新代码,对父类进行扩展,表示“is-a”关系 继承的含义 子类自动拥有父类的属性和行为(一般化的体现,目的就是达到代码的复用) 子类可以定义自己特有的属性和行为(特殊化的体现,目的就是达到功能的增加) 子类可以把从父类继承下来的行为用自己的方式重新实现(通过方法重写来达到) 理解继承时要注意以下几点 不能简单地把继承理解成父子关系 设计的时候,如果需要把在父类中定义的属性和行为让子类能够继承,应该把访问权限适当公开 继承的时候要注意构造方法的定义 Override(方法重写、方法覆盖) 概念 子类里面如果有个某个方法的名字,返回类型,形式参数同父类中的某个方法相同的时候,我们称子类把父类的方法给重写了 注意 在子类与父类之间表现出来(注意跟方法重载区别开来) 子类重写了父类的某个方法时,不能降低访问权限 子类的方法签名必须与父类的方法签名一样 Overloading与Override 比较Overloading Override Overloading:方法名相同,参数列表不同 Override:不同类中,方法名相同,参数列表也相同(方法签名相同。 Override java.lang.Object.toString() 方法 super关键字 概念 代表当前对象的父对象的引用 用法: 直接父类对象的引用,访问父类的成员变量和方法 显式的调用父类的构造函数 注意 由JVM自己处理 实例的创建顺序 第一步: 超类成员变量/超类初始化块(按排列顺序) 第二步: 超类构造方法 第三步: 子类成员变量/子类初始化块(按排列顺序) 第四步: 子类构造方法 注:按排列顺序是指哪个代码写在前面就先初始化谁 Upcast(向上转型)和Downcast(向下转型) upcast是由系统自动完成的,是安全的 downcast是手工完成的(强制转型),不一定安全 RTTI(run-time type identification):运行期类型识别(使用instanceof关键字消除downcast的不安全性) 第三节 Polymorphism (多态) 对多态的正确理解 相同的事物,调用相同的方法,参数也相同,但是表现出来的行为却不同 多态通过分离“做什么”和“怎么做” 多态能够改善代码的组织结构和可读性,使得程序有良好的扩展性 多态也称为动态绑定(dynamic binding)、后期绑定 (late binding)或运行时绑定(run-time binding) 多态的三个含义 子类都能以父类的身份出现(里氏代换原则) 子类以父类的身份出现,但是做事情时,还是用自己的方式来实现 子类以父类的身份出现时,自己特有的属性和行为将不能使用 多态的运用 多态参数 多个方法的参数,具有相同的父类,则以父类的名义来声明方法的参数,由于子类都能以父类的身份出现,所以方法只要定义一次就可以适应各个子类了 异类集合 多个变量
原创力文档


文档评论(0)