欢迎来到天天文库
浏览记录
ID:52111336
大小:713.50 KB
页数:20页
时间:2020-03-31
《《面向对象编程》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《Java程序设计基础》专业教程理论讲解部分Ver3.120061课程概述抽象类和接口内部类重点抽象类和接口难点内部类学习目标掌握Java面向对象程序设计200624.9抽象类和接口4.9.1抽象类一个类声明了方法的存在而不是实现,以及带有对已知行为的方法的实现。这样的类通常被称做抽象类(abstractclass)。通过用关键字abstract进行标记声明一个抽象类。200634.9抽象类和接口4.9.1抽象类抽象方法的格式:abstractclassShape{abstractfloatarea();}abstractreturnTypeabstractM
2、ethod([paramlist]);例如:200644.9抽象类和接口4.9.1抽象类抽象类必须被继承,抽象方法必须被重写。classRectangleextendsShape{publicfloatwidth,height;Rectangle(floatw,floath){width=w;height=h;}publicfloatarea(){returnwidth*height;}}classCircleextendsShape{publicfloatr;Circle(floatr){this.r=r;}publicfloatarea(){return3
3、.14*r*r;}}200654.9抽象类和接口4.9.2接口接口是类似于类的一种结构。可以把接口看成是由常量和抽象方法组成的特殊类。(接口特别像纯粹的抽象类)接口是对C++的多重继承性的替代,即接口是用来实现类间多重继承功能的结构。Java语言规定:一个类只能继承一个父类。通过实现接口,某个类可以拥有多个父接口。200664.9抽象类和接口4.9.2接口接口的定义格式:[public]interfaceinterfaceName[extendslistOfSuperInterface]{…}接口体包括常量定义和方法定义。200674.9抽象类和接口4.9.2
4、接口常量定义格式为:typeNAME=value;其自动具有public,final,static的属性,所以写成如下格式是一样的:publicstaticfinaltypeNAME=value;200684.9抽象类和接口4.9.2接口方法定义格式为:returnTypemethodName([paramlist]);其自动具有public和abstract属性,所以写成如下格式也是一样的:publicabstractreturnTypemethodName([paramlist]);200694.9抽象类和接口4.9.2接口定义接口的特点:定义的方法没有方
5、法体.它们本质上是抽象方法,每个实现接口的类必须实现所有的方法。接口中可以声明变量,它们是,publicfinal和static型。如果一个类实现了一个接口,但是不完全实现接口定义的方法,那么该类必须定义成abstract型。2006104.9抽象类和接口4.9.2接口定义接口的特点:接口用于定义几个类具有的但又不是在这些类中定义的功能。接口定义的仅仅是实现某一特定功能的对外接口和规范,并没有真正地实现这个功能。接口中定义的各种功能的实现是在“继承”这个接口的各个类中完成的,即由这些类来具体定义接口中各抽象方法的方法体。2006114.10内部类4.10.1内
6、部类的定义和使用内部类(InnerClass)是在一个类的内部嵌套定义的类。它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义。内部类允许一个类定义被放到另一个类定义里。内部类是一个有用的特征,因为它们允许将逻辑上同属性的类组合到一起,并在另一个类中控制一个类的可视性。2006124.10内部类4.10.1内部类的定义和使用内部类有如下特性:(1)一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。名字不能与包含它的类名相同。(2)可以使用包含它的类的静态和实例成员变量,也可以使用它所在方法的局部变量。(3)可以定义为
7、abstract。(4)可以声明为private或protected。(5)若被声明为static,就变成了顶层类,不能再使用局部变量。(6)若想在InnerClass中声明任何static成员,则该InnerClass必须声明为static。2006134.10内部类4.10.2匿名内部类匿名类是一种特殊的没有类名的内部类,它是在一个表达式内部包含一个完整的类定义。由于构造器必须同类名相同,而匿名类没有名字,所以匿名类不能有构造器。2006144.10内部类4.10.2匿名内部类匿名内部类的语法格式如下:newSuperType(constructionpa
8、rameters){methodsan
此文档下载收益归作者所有