好程序员学习笔记.docxVIP

  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文档。上传文档
查看更多
继承: 1变量 如果子类中出现非私有同名成员变量时, 子类要访问本类中的成员变量用this, 子类要访问父类中的同名成员变量用super。 Super的用法和this基本一样 This代表本类对象的引用 Super代表父类对象的引用。 2子父类中的函数 当子父类中出现了一模一样的函数时 当子类对象调用该函数,会运行子类对象中的函数,就如同父类中的函数被覆盖了一样。 这就是继承的另一个特性:重写(覆盖) 当子类继承了父类,沿袭了父类的功能到子类中,但子类虽具备该功能,但功能的内容却和父类不一致时,没有必要从新定义父类中原有的功能,而是用super()语句,并从写新的内容。 覆盖: 1.? ?? ?子类覆盖父类,必须保证子类的权限大于父类的权限,否则编译失败。 2.? ?? ?静态只能覆盖静态。 Public static??private?默认权限? 注意事项: 重载:只看参数列表; 重写:子父类的方法要一模一样。??参数?返回值等等。 3子父类中的构造函数 在对子类对象进行初始化时,父类构造函数也会执行。 因为子类构造函数默认第一行会有一个隐式的super()语句 Super()会访问父类空参数的构造函数,而且子类的每个构造函数当中的第一行都会有一个默认的super()语句。 为什么子类一定要访问父类的构造函数呢? 因为父类中的数据,子类可以直接获取,所以子类对象在建立是需要先查看父类是如何对这些数据进行初始化的,所以子类对象在初始化时一定要先访问下父类当中的构造函数。 如果要访问父类中指定的构造函数,可以通过手动定义super()语句的方式来指定 注意:super()语句一定要定义在构造函数的第一行。 结论: 子类中的所有的构造函数,都会访问父类中的空参数的构造函数, 因为子类的每一个构造函数的第一行都会有一个隐式的super()语句。 当父类中没有空参数的构造函数时,子类必须手动super()语句来访问父类中的构造函数。 当然子类的构造函数中也可以手动指定zhis()语句来访问本类中的构造函数, 但子类至少会有一个构造函数来访问父类的构造函数。 抽象类: 当多个类当中出现功能相同,但功能主体不同,这是可以向上抽取,??这时只抽取功能定义,而不抽取功能主体。 抽象类的特点: 1.? ?? ?抽象方法一定在抽象类中 2.? ?? ?抽象方法和抽象类都必须用abstract关键字进行修饰 3.? ?? ?抽象类不可用new建立对象,因为调用抽象方法没意义 4.? ?? ?抽象类中,如果抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。 5.? ?? ?抽象类必须被继承,抽象方法必须被重写,抽象类不能被实例化,抽象方法只需声明而不需要实现。 模板方法模式: 在功能定义时,功能的一部分已经确定了,而另一部分是不确定的,确定部分又在使用不确定部分,那么就将不确定部分暴露出去,由该类的子类去完成。 接口: 初期的理解,可以认为是一个特殊的抽象类,接口里的说有方法都必须是抽象的, Class?用于定义类 Interface用于定义接口 接口的定义格式: 1.? ?? ?接口中的常见定义:常量和方法 2.? ?? ?接口的成员都有固定修饰符 常量:public static final 方法:public abstract 注意:接口中的成员都是public类型 接口是不可以创建对象的,因为成员都是抽象类,必须被子类实现,子类对接口中的实现方法全覆盖,子类才可以实例化,否则子类是一个抽象类。 多态: 多态:事物存在的多种形态。 1.? ?? ?多态的体现 父类的引用指向了自己的子类对象 父类的引用也可以接收自己的子类对象 2.? ?? ?多态的前提 必须是类与类之间有关系,要么继承要么实现 通常还有一个前提:存在覆盖 3.? ?? ?多态的好处 多态的出现大大提高了程序的扩展性 4.? ?? ?多态的弊端 提高了扩展性,但只能使用父类引用访问父类中的成员 多态中成员函数的特点: 在编译时期:参阅引用型变量所属类中是否有调用的方法,如果有则通过,没有则编译失败 在运行时期:参阅对象所属类中是否有调用的方法。 简单总结:成员函数在多态时,编译看左边,运行看右边。 多态中成员变量的特点:?? 无论编译和运行都参考左边(引用型变量所属的类); 多态中静态成员函数的特点: 无论编译和运行都参考左边。

文档评论(0)

177****0805 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档