JAVA语言与程序设计-第三讲-05-super与多态.pptVIP

JAVA语言与程序设计-第三讲-05-super与多态.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语言与程序设计-第三讲-05-super与多态

由于子类继承了父类的属性(私有的除外),所以子类对象可以作为父类对象使用。 程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。 在java语言中,多态性体现在两个方面: 1)编译时多态,即由方法重载实现的静态多态性。 2)运行时多态,即由方法重写实现的动态多态性。 类的实例对象之间可以相互进行类型转换 3.3 类与类之间的数据类型转换 分为隐式自动类型转换和显式强迫类型转换。 子类对象转为父类对象时,可以是显式也可以是隐式的,子类对象直接向父类对象赋值 。 类的实例对象之间可以相互进行类型转换 类与类之间的数据类型转换 类的强迫类型转换格式即: (类名)类对象 父类对象向子类对象赋值时,必须要强制类型转换。 【例】 class A { String s=class: A; } class B extends A { String s=class: B; } public class Exa3_16 { public static void main(String args[]) { B b1,b2=new B(); A a1,a2; a1=(A)b2; a2=b2; System.out.println(a1.s); System.out.println(a2.s); b1=(B)a1; System.out.println(b1.s); } } 子类B的类对象b2 向父类A的对象al、a2赋值 父类对象a1向子类对象b1赋值时,必须进行类型转换 结果如下: class: A class: A class: B 例如:对于一个作图的类,它有一个draw()方法用来画图或输出文字,可以传递给它一个字符串、一个矩形、一个圆形,甚至还可以重新指定作图的初始位置、图形的颜色等; 对于每一种实现,只需定义一个新的draw()方法即可,而不需要新起一个名字。 这样大大简化了方法的实现和调用,程序员和用户都不需要记住很多的方法名,只需要传入相应的参数即可。 类的多态性举例: * * * * * * * Java语言与程序设计 北京邮电大学计算机学院 鄂海红 ehaihong@801 关键字super的使用 super的作用是用来引用当前对象的父类 super 的使用有三种情况: 1)调用父类的构造函数,如:    super([paramlist]); 2)调用父类中被重写的方法,如:     super.Method([paramlist]); 3)访问父类被隐藏的成员变量,如:  super.variable; 关键字super的使用 super 的使用有三种情况: 1)调用父类的构造函数,如:    super([paramlist]); 2)调用父类中被重写的方法,如:     super.Method([paramlist]); 3)访问父类被隐藏的成员变量,如:  super.variable; 关键字super的使用 super 的使用有三种情况: 1)调用父类的构造函数,如:    super([paramlist]); 2)调用父类中被重写的方法,如:     super.Method([paramlist]); 3)访问父类被隐藏的成员变量,如:   super.variable; 关键字super的使用 1)调用父类的构造函数: 关键字super的使用 父类源程序:Father.java package tom.jiafei; public class Father { int height; protected int money; public int weight; public Father(int m) { money=m; } protected int getMoney() { return money; } void setMoney(int newMoney) { money=newMoney; } } 子类源程序:Bob.java package ; import tom.jiafei.*; public class Bob extends Father { public Bob() { super(20); } 注意: Father和Bob 分别隶属不同的包 用来调用父类的构造方法 子类源程序:Bob.java package ; import tom.jiafei.

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档