网站大量收购独家精品文档,联系QQ:2885784924

6面向对象高级特性〔下〕.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6面向对象高级特性〔下〕

第六讲 面向对象高级特性(下) 主要内容 引用类型转换 子类对象可以当成父类对象使用(父类的引用类型变量可以指向子类的对象) 不能通过父类的引用访问子类对象新增加的成员 父类引用只有经过强制转换后才能赋值给子类引用变量 语句“引用变量名 instanceof 类名”作用:判断该引用类型变量所指向的“对象”是否属于该类 引用类型转换 引用类型转换 动态绑定 动态绑定是一种调用对象方法的机制,指的是在运行期间,虚拟机将调用对象实际类型所对应的方法。 动态绑定三个必要条件: 1)继承 2)重写 3)父类引用指向子类对象 动态绑定 动态绑定 抽象类 1.抽象方法: 不含有任何方法体的方法。抽象方法必须用abstract关键字进行定义。例如, public abstract int func1(int a,int b) ; 2. 抽象类: 包含抽象方法的类。抽象类也必须用abstract关键字进行定义。例如, abstract class test1 { public abstract int func1(int a,int b); } 抽象类 3. 抽象类中,可以包含抽象方法和非抽象方法。例如, abstract class test1 { abstract int f(int a,int b);//抽象方法 void func2(){}//非抽象方法 } 抽象类 4、抽象类不能被实例化。 5、抽象类能够被继承。只有当子类实现了父类的所有抽象方法,该子类才能够被实例化。否则,它还是一个抽象类。 抽象类 【例题】设计一个类层次,定义一个抽象类--形状,其中包括求形状的面积的方法。继承该类定义矩形、圆。 分别创建一个矩形、圆存入一个数组中,将数组中各类图形的面积输出。 接口 1. 什么是接口? 接口是抽象方法和常量的集合。定义一个接口 使用interface关键字。例如, interface Runner { int ID = 1; //常量 void run(); //抽象方法 } 接口 2. 接口的特性 接口中的方法默认具有public和abstract属性; 接口中的变量默认具有public、static、final属性。 3. 使用extends关键字定义一个新的接口。 接口 4. 使用implements关键字定义一个类,实现接口中的所有抽象方法。例如, class Fish implements Animal { public void run() { //方法前必须有public System.out.println(Fish is swimming); } public void breathe() { System.out.println(Fish is budding); } } 接口 5. 如果类中只实现了接口中的部分方法,那么这个类必须定义为抽象类。 6. 一个类在继承父类的同时,还可以实现一个或多个接口。 接口 【例题】一个类可以实现多个接口,从而达到多继承。 接口 【例题】下面代码使用接口实现了银行账户的存取款。 接口 【例题】模拟银行之间的转账。 接口 【例题】接口和实现它的类之间存在着多态性。 内部类 成员内部类 成员内部类 静态内部类 本地内部类 匿名内部类 匿名内部类 匿名内部类 匿名内部类 * * 引用类型转换 动态绑定 抽象类 接口 内部类 【例1】请分析下面代码的输出结果,理解引用类型转换的规则。 【例2】请阅读下面代码,理解引用类型转换能够给程序带来较好的扩展性。 【例1】分析下面代码的输出结果。 【例2】分析下面代码的输出结果。 Java语言允许在类的内部再定义类,这种类称为内部类。包含内部类的类称为外部类。 内部类具有成员变量和成员方法。通过建立内部类的对象,可以存取其成员变量和调用其成员方法。 内部类的类名只能定义在它的类或语句块之内,在外部引用时必须给出完整的名称。内部类的类名不能与包含它的外部

文档评论(0)

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

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

1亿VIP精品文档

相关文档