《Java开发实战经典》教师讲解020607 对象的多态性.pptVIP

《Java开发实战经典》教师讲解020607 对象的多态性.ppt

  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 应用开发详解 第6章:面向对象(高级) —— 对象的多态性 本章目标 掌握对象的向上转型及向下转型的使用 掌握对象转型的限制 多态性 多态性在面向对象中中是一个最重要的概念,在java中面向对象主要有以下两种主要体现: 方法的重载与覆写 对象的多态性 对象的多态性 对象的多态性主要分为以下两种类型: 向上转型:子类对象 ? 父类对象 对于向上转型,程序会自动完成,格式: 对象向上转型:父类 父类对象 = 子类实例 ; 向下转型:父类对象 ? 子类对象 对于向下转型时,必须明确的指明要转型的子类类型,格式: 对象向下转型:子类 子类对象 = (子类)父类实例 ; 对象的向上转型 对象的向下转型 注意:对象向下转型的要求 在以上的程序中读者已经了解了对象的向上和向下转型的基本概念,但是必须提醒读者的是,在进行对象的向下转型之前,必须首先发生对象向上转型才可以,否则将出现对象转换异常 错误的转型 对象多态性的作用 现在有以下要求: 设计一个方法,要求此方法可以接收A类的任意子类对象,并调用方法 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println(A -- public void fun1(){}) ; } public void fun2(){ // 定义fun2()方法 this.fun1() ; } }; class B extends A{ // 子类通过extends继承父类 public void fun1(){ // 覆写父类中的fun1()方法 System.out.println(B -- public void fun1(){}) ; } public void fun3(){ // 子类自己定义的方法 System.out.println(B -- public void fun3(){}) ; } }; public class PolDemo01 { public static void main(String[] args) { B b = new B() ; // 定义子类实例化对象 A a = b ; // 发生了向上转型的关系,子类 -- 父类 a.fun1(); // 此方法被子类覆写过 } } class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println(A -- public void fun1(){}) ; } public void fun2(){ // 定义fun2()方法 this.fun1() ; } }; class B extends A{ // 子类通过extends继承父类 public void fun1(){ // 覆写父类中的fun1()方法 System.out.println(B -- public void fun1(){}) ; } public void fun3(){ // 子类自己定义的方法 System.out.println(B -- public void fun3(){}) ; } }; public class PolDemo02 { public static void main(String[] args) { A a = new B() ; // 发生了向上转型的关系,子类 -- 父类 B b = (B)a ; // 此时发生了向下转型关系 b.fun1() ; // 调用方法被覆写的方法 b.fun2() ; // 调用父类的方法 b.fun3() ; // 调用子类自己定义的方法 } } class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println(A -- public void fun1(){}) ; } public void fun2(){ // 定义fun2()方法 this.fun1() ; } }; class B extends A{ // 子类通过extends继承父类 public void fun1(){ // 覆写父类中的fun1()方

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档