第5章+new接口与内部类.ppt_第1页
第5章+new接口与内部类.ppt_第2页
第5章+new接口与内部类.ppt_第3页
第5章+new接口与内部类.ppt_第4页
第5章+new接口与内部类.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章接口与内部类,Java中的接口:是Java灵活性的基石,主要用来描述类可以具有什么样的功能,但并不给出每个功能的具体实现。内部类:是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,是依附于外部类而存在的。,5.1接口的特性,Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征,没有方法的实现。,5.2接口的定义,当定义一个接口时,实际上是在编写一个合约,该合约规定了用来描述实现该接口的类能够做什么,能够充当什么样的角色。而接口中并没有功能的具体实现,具体实现由签了合约的类自己来完成,但实现时必须满足接口中的要求。例如,可以编写一个接口aerocraft,代表飞行器的角色。在该接口中定义了飞行器起飞方法。这样,具有飞行器功能的所有类都可以实现该接口,并具体实现接口中的方法,不同的类可以有不同的方法实现。声明接口的基本语法如下。abstractinterface/方法与成员变量的声明,5.3接口的使用,在学习了如何定义接口后,本节将详细介绍接口的实现,包括接口实现的基本语法、接口中方法的实现与使用。,5.3.1接口实现的基本语法,实现接口时,需要使用关键字implements,该关键字指定该类实现接口,基本语法如下。classimplements接口名列表中可以有多个接口名1/Employee接口2publicinterfaceEmployee34/manager接口5publicinterfaceManager67/Person类实现了Employeer与Manager接口10publicclassPersonimplementsDeveloper,Lecturer,5.3.2接口中方法的实现与使用,当一个类实现了某个接口,其应当为该接口中的所有方法提供具体实现,除非该类为抽象类,,5.4接口与抽象类,接口与抽象类很像,它们里面都有抽象的方法,都不能实例化。从两个方面介绍它们之间的区别。1语法上的不同2具体含义的不同,5.5接口与回调,回调是一种常见的程序设计模式,利用回调技术可以处理这样的问题,事件A发生时要执行处理事件A的代码,判断何时发生事件A及何时执行处理的代码。这些代码是固定的,先行编写完毕,供使用。但事件A的处理代码开放给其他开发人员编写,可以有很多不同的实现,使用时可以注册具体需要的实现来处理。Java中Swing与AWT的事件监听处理模型就是使用接口与回调实现的,学习了第8章内容后可以进一步体会接口与回调带来的好处。在这里举一个简单的例子来说明这个问题,,5.6内部类,类不但有这些类型的成员,也可以作为另一个类的成员。充当这种角色的类称为内部类,包含内部类的类称为外部类,5.6.1内部类概述,内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,依附于外部类而存在。内部类可为静态,可用protected和private修饰(而外部类只能使用public和protected的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类。内部类的代码创建其外围类的对象。,5.6.2内部类语法规则,从外面内部类看,完全可以将其看成是外部类的一个成员。只是这个成员不再是基本数据类型,而是一个类,由一个类来扮演成员的角色。classstaticclass/内部类的成员/外部类的其他成员,5.6.3局部内部类,在方法内定义的内部类称为局部内部类。在这种情况下,其作用域与局部变量相同,只在其所在的语句块中有效。与局部变量类似,局部内部类不能有成员的访问限制修饰符,因为它不是外部类的一部分,但是它可以访问当前代码块内的常量,和此外部类的所有成员。使用局部内部类有如下两个优点。(1)它对外面的所有类来说都是隐藏的,即使是它所属的外部类,仅有它所在的方法知道它。(2)它不仅可以访问它所属外部类中的数据,还可以访问局部变量,不过局部变量须声明为final类型。,5.6.4匿名内部类,匿名内部类就是没有名字的内部类。匿名内部类没有名称,因此匿名内部类在声明类的同时也创建了对象。匿名内部类的声明要么是基于继承的,要么是基于实现接口的。,5.6.5静态内部类,当内部类名前有static关键字时,该内部类为静态内部类。静态内部类是外部类的静态成员,其不依赖于外部类的对象而存在,因此在外部类外面创建静态内部类对象时不需要首先创建外部类的对象。这点与非静态内部类是不同的,下面给出了在外部类之外创建静态内部类对象的基本语法。.引用变量=new.;,5.6.6关于内部类的讨论,内部类实际上就是由一个类扮演了特定的角色。因此,从内部类里面来看,内部类就是一个类,而从内部类外面来看,内部类则是外部类的某种组成部分。,5.7小结,本章介绍了Java中的一项重要技术接口,以及Java中一种独特的语法结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论