Java编程技术基础(微课版)第5章 继承与多态.pptxVIP

Java编程技术基础(微课版)第5章 继承与多态.pptx

  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文档。上传文档
查看更多

Java继承与多态主讲人:华清远见

多态final关键字内部类继承

继承继承的目的是代码复用。复用是减少代码量的最佳方式。在继承的情况下,子类对象完全拥有了与父类对象同样的功能。根据语法规则,在子类的内部代码中,可以使用父类非private权限的属性与方法,归纳如下。子类拥有了父类的诸多属性与方法。子类可进而增加自身新的属性与方法。子类可以覆盖(重写)父类的某个同名功能(方法、函数)。继承情况下的访问规则与访问权限修饰符(public,protected,缺省的friendly,private)有关。

继承的规则子类可以直接访问父类public,protected的属性与方法。子类可以在同包下访问父类default的属性与方法。子类无法访问父类private的属性与方法。子类无法继承父类的构造方法,即不能用形式“new子类名(父类构造方法的参数列表)”来实例化,只能在子类的构造方法中用super(...)去调用父类的构造方法。

方法重载方法重载(Overload)指的是同一个类中方法名称相同但功能不同的一种用法。其意义在于可以根据传入的不同参数来代码中采取不同的措施。方法重载的条件是:重载的方法在同一个类中方法的名称相同参数的类型或个数不同

方法覆盖方法覆盖(Override)指的是子类拥有与父类同名的方法且功能相似。方法覆盖的目的是子类用某个新的功能去替代父类同名方法原来的功能。方法覆盖的条件是:子类的方法名与父类的方法名相同方法必须具有相同的参数列表项子类方法的返回值类型要与父类相同子类方法不能比父类方法有更严格的访问权限子类方法不能抛出比父类方法更多的异常

对象转型对象转型即引用数据类型的类型转换,分为向上与向下转型。向上转型向上转型指的是子类对象转换成父类对象,可以自动进行转换。如(Animal是Dog的父类):Animalanimal=newDog(哈士奇,旺财,10);向下转型向下转型指的是父类对象转换成子类对象(或两个看似不相关的类型之间转换),书写时需用“强制”转型,如:Dogdog=(Dog)animal;在运行时,必须类型匹配,否则会报ClassCastException异常。所谓“类型匹配”是指实例本身就是目标类型。即上面的animal原本就是由一个Dog对象转换而来。强制转换的书写格式是:(目标类型)变量名。为了保险起见,建议先用关键字instanceof进行检测后再转换。但使用instanceof关键字的条件是第一个参数必须与第二个参数所指定的类或接口在继承树上有上下级关系

多态(动态绑定)父类引用指向子类对象在这种情况下,子类新增的属性或方法会被“暂时遮盖”,除非强制造型回子类对象。而子类覆盖的父类的方法则会表现出子类覆盖的内容。从而使一种代码可以因为子类的不同呈现出不同的表现形式。

抽象类与抽象方法抽象类是用abstract关键字修饰的类,这种类无法被实例化。抽象类存在的意义是用于其被其它类继承,它表示一个类的框架,而不是具体内容的实现。抽象类可以含有抽象方法,也可以没有抽象方法。抽象方法是用abstract关键字修饰的方法,它只有方法的声明而没有方法的定义。抽象类和抽象方法的关系有如下规定:含有抽象方法的类必然是抽象类,必须使用abstract关键字修饰。父类如果是抽象类,那么子类必须实现(覆盖)所有的抽象方法,否则子类仍然是一个抽象类。 另外,抽象类可以继承非抽象类,但是这种用法比较少,因为抽象类往往表示非抽象子类的框架。

final关键字final可以修饰成员变量、静态变量与局部变量。final修饰成员变量final修饰成员变量时,必须给成员变量赋予初始值,一旦赋值之后不可改变。final修饰静态变量final修饰静态变量时表示通常意义上的“常量”,例如Math.PI是圆周率,常量在命名的时候要使用全大写字母,单词之间使用下划线“_”分割,如:publicstaticfinalStringCURRENT_TAG=MainActivity;final修饰局部变量final的局部变量可以直接声明,但是必须在整个生命周期内赋值一次,表示在当前的作用域内的常量。例如定义在某方法中的局部变量在方法执行期间赋值后不可改变,但是方法执行完毕后会被GC回收。

Final关键字final修饰方法表示这个方法不能被覆盖,说明这个方法的功能已经很完善。典型的例子如Object类的getClass方法与notify方法等。另外,抽象方法不允许被final修饰。final修饰类表示这个类不能被继承,说明这个类的功能已经很完善。典型的例子如String类等。另外抽象类不允许被final修饰。

静态内部类静态内部类是最简单的一种内部类形式,需要使用static关键字修饰。与静态方法类

您可能关注的文档

文档评论(0)

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

UWU

1亿VIP精品文档

相关文档