




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计,Java类和对象的高级特征,内容,接口包,接口,接口的概念:接口是一组常量和抽象方法的集合;接口是一个功能规范,一个遵循该规范的类称为实现了该接口,即,“所有实现本接口的class,都应该提供的功能”java中用接口实现多重继承定义一个接口,采用关键字interface,实现一个接口,采用关键字implements,定义接口,Java中定义接口的语法如下定义接口与定义类非常相似,实际上完全可以把接口理解成为一种特殊的类,接口是由常量和抽象方法组成的特殊类。,publicinterface接口名extends父接口名列表/接口体;/常量域声明publicstaticfinal域类型域名=常量值;/抽象方法声明publicabstract返回值方法名(参数列表)throw异常列表;,接口的性质,接口中所有成员变量隐含为static和final,因此它们是常量,并且须有初值;接口不能含非常量数据;接口中的成员变量和方法均是public的;接口中的成员方法不能是static的;接口中的成员方法是abstract的;接口不能含方法实现;接口不能用来创建实例;接口可以继承另一个接口。,实现接口,格式在类的声明部分,用implements关键字声明该类将要实现哪些接口。如果实现某接口的类不是抽象类,则在类的定义部分必须实现指定接口的所有抽象方法。否则,该类是抽象类。一个类在实现某接口的抽象方法时,必须使用完全相同的方法声明,返回值类型也必须相同(即,类去覆盖接口中的抽象方法)。接口的抽象方法的访问限制符都已指定为public,所以类在实现方法时,必须显式地使用public修饰符。,修饰符class类名extends父类名implements接口名,interface./类体,接口示例,示例2:Animal.java,Bird.java,Insect.java,publicinterfaceComparablepublicintcompareTo(Objecto);publicclassDoubleimplementsComparablepublicintcompareTo(Objecto),使用接口引用,可以用接口名作为数据类型声明变量,该变量用于保存实现了该接口的类的对象的引用。这样的变量称为接口引用变量。通过接口引用变量只能调用该接口中声明的方法。通过接口引用变量可实现多态性。示例:Animal.java,Bird.java,Insect.java,AnimalDemo.java,AnimalDemo2.java,接口中的常量,接口中所有成员变量隐含为static和final,因此它们是常量,并且须有初值;接口不能含非常量数据;一个类可以使用以下两种方式使用接口中的常量:该类实现声明了常量的接口,直接使用常量的名称即可该类不用实现声明了常量的接口,但在使用接口中的常量时需用:接口名.常量名的方式示例:ConstImpl.java,接口的继承,一个接口通过关键字extends继承另一个或多个接口,即接口的继承可以是多重继承(P121错)。当一个类实现继承了其他接口的接口时,必须在类中实现接口继承链中定义的所有方法,否则该类是一个抽象类。(该情况相当于,一个类实现了多个接口)示例:IFExtend.java,接口与抽象类的区别,相同点均可包含抽象方法;均不能实例化;不同点抽象类中可以包含非抽象方法,接口中必须全是抽象方法;抽象类可以包含构造方法,接口没有构造方法;抽象类中可以有成员变量,接口中只有类成员常量;抽象类的成员可以有四种访问权限,而接口的成员只有public访问权限;类只能是单重继承,接口可以有多重继承;一个类可以实现多个接口;抽象类约定的是其子类的相似行为的外观,接口可以约定没有继承关系的多个类之间的相似行为的外观。,内部类,P122,自学,包的概念,包名:p1.p2.pn对应目录p0p1p2.pn作用提供代码维护的便利提供访问控制的层次,包的定义,格式:在源文件的头部加上package包名;,包编程步骤例解(1),设当前目录为myApp在myApp下建一子目录com在com目录下再创建子目录myPackage.将以下程序文件PackageTest.java建于myPackage下:,packagecom.myPackage;classPackageTestpublicstaticvoidmain(Stringargs)System.out.println(Thismypackage);,包编程步骤例解(2),在myPackage目录下编译文件PackageTest.java:javacPackageTest.java回到myApp目录执行运行命令:javacom.myPackage.PackageTest,包的使用,用import语句引入外包类两种引入方式:import包名.类名;(引入一个类)如:importjava.applet.Applet;import包名.*;(引入包中所有类)如:importjava.applet.*;以下无需再写全名classMyClassextendsApplet,否则需写为:classMyClassextendsjava.applet.AppletJava中缺省导入java.lang.*,包与成员的访问限制,一个类可以访问同一包中另一个类的默认修饰符修饰的成员和protected修饰的成员;一个类可以访问不同包中父类的protected成员;但不能访问不同包中的默认修饰符修饰的成员;默认修饰符所施加的限制高于protected修饰符。,packageGreek;publicclassAlphaprotectedintiamprotected;voidmethod(),packageGreek;classGammavoidaccessMethod()Alphaa=newAlpha();a.iamprotected=10;/a.method();/,packageGreek;publicclassAlphaprotectedintiamprotected;staticvoidmethod(),packageLat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规范律师选聘管理办法
- 《出差管理办法执行》
- 行政公文写作管理办法
- oa系统差旅管理办法
- 行政编工人管理办法
- 一级建筑资质管理办法
- 索菲亚人员管理办法
- 三一建筑工程管理办法
- soho人员管理办法
- 专利形成闭环管理办法
- 南海区高一上学期9月初高中衔接测试语文试题(含答案)
- 保利物业2024培训手册:如何引领行业新趋势
- 母乳喂养知识培训-课件
- 6.4.3.1余弦定理教学设计高一下学期数学人教A版
- 绿色火车站建设与可持续发展
- 蚯蚓养殖和治污改土技术规程 第1部分:蚯蚓养殖和粪污处理
- 成人鼻肠管的留置与维护(2021团体标准解读)-20221004172843
- 机电安装验收证明书
- 熟识邮轮客舱房态讲解
- 汉字五行属性查询表
- 教科版科学三年级上册《1.1水到哪里去了》课件
评论
0/150
提交评论