- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05面向对象高级程序设计解读
5.3 抽象类和抽象方法 当一个类的定义完全表示抽象的概念时,它不应该被实例化为一个对象。例如Java中的Number类就是一个抽象类,它只表示数字这一抽象概念,只有当它作为整数类Integer或实数类Float等的父类时才有意义。 定义一个抽象类的格式如下: abstract class abstractClass{ …… } 由于抽象类不能被实例化,因此下面的语句会产生编译错误: new abstractClass(); 抽象类中可以包含抽象方法,为所有子类定义一个统一的接口,对抽象方法只需声明,而不需实现,因此它没有方法体。其格式如下: abstrac returnType abstractMethod([paramlist)); 5.3 抽象类和抽象方法 【例5-8】使用abstract的另一例子 abstract class AA{ abstract void callme( ); void metoo( ){ System.out.println(InsideAs metoo() method); } } class BB extends AA{ void callme( ){ System.out.println(Inside Bs callme() method); } } public class AAbstract{ public static void main(String args[]){ AA cc=new BB(); //cc为上转型对象 cc.callme(); cc.metoo(); } } 第5章 面向对象高级程序设计 5.1 继承 5.2多态性 5.3 抽象类和抽象方法 5.4接口 5.5内部类和匿名类 5.4 接口 5.4.1接口声明 5.4.2使用接口的优点 5.4.1接口声明 从本质上讲,接口是一种特殊的抽象类 只包含常量和方法的定义,而没有变量和方法的实现。 通过接口使得处于不同层次,甚至互不相关的类可以具有相同的行为。 接口其实就是方法定义和常量值的集合。 5.4.1接口声明 Java 不支持多继承性,即一个类只能有一个父类。单继承性使得Java类层次简单,易于程序的管理。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。接口的定义和类的定义很相似,分为接口声明和接口体两部分。 1、 接口声明 我们曾使用class关键字来声明类,接口通过使用关键自interface 来声明。完整的接口定义格式如下: [public] interface interfaceName [extends listOfSuperInterface]{ …… } 其中public修饰符指明任意类均可以使用这个接口,缺省情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。extends子句与类声明中的extends子句基本相同,不同的是一个接口可以有多个父接口,用逗号隔开,而一个类只能有一个父类。子接口继承父接口中所有的常量和方法。 通常接口名称以able或ible结尾,表明接口能完成一定的行为,例如Runnable、Serializable。 5.4.1接口声明 2、 接口体 接口体中包含常量定义和方法定义两部分。在接口中定义的常量均具有public、static和final属性。其格式如下: returnType methodName([paramlist]); 接口中只能进行方法的声明,而不提供方法的实现,所以,方法定义没有方法体,且用分号(;)结尾,在接口中声明的方法具有public和abstract属性。另外,如果在子接口中定义了和父接口同名的常量,则父接口中的常量被隐藏。 例如: interface Summaryable { final int MAX=50; // MAX具有public、static、final属性 void printone(float x); float sum(float x ,float y); } 上面这段程序可以以Summaryable.java来保存,也可以写入其它Java程序中。 5.4.1接口声明 3、接口的使用 一个类通过使用关键字implements 声明自己使用(或实现)一个或多个接口。如果使用多个接口,用逗号隔开接口名。如 class Calculate extends Computer implements Summary, Substractabl
文档评论(0)