Java程序案例教程(主编田智、杨艳慈 西安科大版)课件:第6章 类的继承05.pptVIP

Java程序案例教程(主编田智、杨艳慈 西安科大版)课件:第6章 类的继承05.ppt

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
Java程序案例教程(主编田智、杨艳慈 西安科大版)课件:第6章 类的继承05

6.4 final关键字   在Java中声明类、属性和方法时,可使用关键字final来修饰。   (1)? final标记的类不能被继承。   (2)? final标记的方法不能被子类复写。   (3)? final标记的变量(成员变量或局部变量)即为常量,只能赋值一次。   【例6-14】 TestFinalDemo1.java。  6.5 接口(interface)   接口(interface)是Java所提供的另一种重要技术,它的结构和抽象类非常相似,也具有数据成员与抽象方法,但它与抽象类又有以下两点不同:   (1) 接口中的数据成员必须初始化,且数据成员均为常量。   (2) 接口中的方法必须全部声明为abstract。也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。   接口定义的语法如下:   接口与一般类一样,本身也具有数据成员与方法,但数据成员一定要赋初值,且此值不能再更改,方法也必须是“抽象方法”。也正因为方法必须是抽象方法,而没有一般的方法,所以接口定义的语法中,抽象方法声明的关键字abstract是可以省略的。相同的情况也发生在数据成员身上,因数据成员必须赋初值,且此值不能再被更改,所以声明数据成员的关键字final也可省略。事实上,只要记得以下两点即可:   (1) 接口中的“抽象方法”只要做声明即可,而不用定义其处理方式。   (2) 数据成员必须赋初值。在Java中接口是用于实现多继承的一种机制,也是Java设计中最重要的一个环节,每个 由接口实现的类必须在类内部复写接口中的抽象方法,且可自由地使用接口中的常量。   既然接口中只有抽象方法,那么它只要声明而不用定义处理方式,于是自然可以联想到接口也没有办法像一般类一样,再用它来创建对象。利用接口打造新的类的过程称为接口的实现(implementation)。   接口实现的语法如下:   输出结果:     学生-姓名:张三,年龄:25,职业:学生!   程序说明:   (1) 第1~8行声明一个Person接口,在其中声明了三个常量name、age、occupation,并分别赋值。   (2) 第10~17行声明一个Student类,此类实现Person接口,并复写Person中的talk()方法。   (3) 第22行实例化一个Student的对象s,并在第23行调用talk()方法,打印信息。   接口是Java实现多继承的一种机制,一个类只能继承一个父类,但如果需要一个类继承多个抽象方法,则明显无法实现,所以就出现了接口的概念。一个类只可以继承一个父类,却可以实现多个接口。接口与一般类一样,均可通过扩展技术来派生出新的接口。原来的接口称为基本接口或父接口,派生出的接口称为派生接口或子接口。通过这种机制,派生接口不仅可以保留父接口的成员,同时也可加入新的成员以满足实际需要。同样地,接口的扩展(或继承)也是通过关键字extends来实现的。有趣的是,一个接口可以继承多个接口,这点与类的继承有所不同。接口扩展的语法如下:   程序说明:   (1) 第1~5行声明一个接口A,并声明一个常量i和一个抽象方法sayI()。   (2) 第6~10行声明一个接口E,并声明一个常量x和一个抽象方法sayE()。   (3) 第12~16行声明一个接口B,此接口同时继承A、E接口,同时声明一个常量j和一个抽象方法sayJ()。   (4) 第19~32行声明一个类C,此类实现了B接口,所以此类中要复写接口A、B、E中的全部抽象方法。   由上述程序可以看出,与类的继承不同的是,一个接口可以同时继承多个接口,也就是同时继承了多个接口的抽象方法与常量。 案例2 接口案例 【案例描述】   定义接口Sound,该接口有void makeSound()方法;定义一个SoundMachine类,该类有一个void play(Sound sound)方法,即该方法的参数是接口类型。编写几个实现Sound接口的类。??? 【代码与注释】

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档