- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章接口内部类和JavaAPI基础
《Java程序设计实用教程(第4版)》;《Java程序设计实用教程(第4版)》;
为什么要引入接口
标准的制定者和实现者分开
实现多继承
对一组具有共同行为的类抽象:面向接口编程;接口的作用;《Java程序设计实用教程(第4版)》;1、声明接口
[public] interface 接口 [extends 父接口列表 ]
{
[public] [static] [final] 数据类型 成员变量=常量值;
[public] [abstract] 返回值类型 成员方法[(参数列表)];
}
;;《Java程序设计实用教程(第4版)》;;《Java程序设计实用教程(第4版)》;接口的例子:
//抽象出跑的行为
public interface Runner
{
public void run();
}
public class Car implements Runner
{
public void run(){ System.out.println(car run.....); }
}
public class Dog implements Runner
{
public void run(){System.out.println(“dog run.....);}
}
; //抽象出演奏的行为
public interface Instrument
{
public void play()
}
public class Lute implements Instrument //琵琶
{
public void play(){………}
}
public class Accordion implements Instrument
{ //手风琴
public void play()
{………}
};
图4.1 图形接口与实现图形接口的类 ;
【例4.1】 图形接口与实现图形接口的类
设计可计算面积接口PlaneGraphics。
设计长方形类Rectangle,实现平面图形接口。
练习:设计圆形类Circle,实现平面图形接口。;
接口的特点
接口中成员的访问权限都是public
接口中的成员方法都是公有的、抽象的实例成员方法,默认修饰符public abstract;
接口中的所有抽象方法必须全部被实现接口的类覆盖
接口中的成员变量都是常量、静态的,默认修饰符public static final;
接口不能被实例化,只能通过其实现类实例化。
PlaneGraphics g1 = new Rectangle(10,20);
接口是引用数据类型;用接口实现多重继承:一个类可以继承一个父类并实现多个接口
图4.2 继承机制
;
【例4.2】 长方体类继承长方形类并实现立体图形接口
设计立体图形接口SolidGraphics,包含抽象的求体积方法volume();
设计长方体类Cuboid,继承长方形类并实现立体图形接口,重写求面积方法以求长方体表面积,实现求体积方法。
练习:设计圆球类Globe,继承圆形类,实现立体图形接口
;图4.3 长方体类的多重继承 ;【例4.3】 球类实现多个接口
图4.4 球类的多重继承 ;接口的继承;接口与抽象类的区别
相同点:
1.两者都可包含抽象方法
2.两者都不能被实例化
3.两者都是引用数据类型
不同点:
1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法;
2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能;
3.抽象类中成员具有与普通类成员一样的访问权限;接口中成员的访问权限均是public
4.抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全部是抽象方法,不能声明构造方法
5.抽象类中可以声明成员变量;接口中只能声明常量。
;4.2 内部类和内部接口;声明内部类
public class Line //直线类,外部类
{
protected Point p1,p2; //直线的起点和终点
protected class Point //点类,内部类
{
protected int x,y; //内部类的成员变量
protected Point(int x,int y) //内部类的构造方法
您可能关注的文档
最近下载
- 天然气探井项目环评环境影响报告表(新版环评).docx VIP
- 27001-2022信息安全管理体系全套管理手册及程序文件 .pdf VIP
- (2025年)国家能源集团考试试题考试(含答案).docx VIP
- 2025年高考英语(全国二卷) 阅读理解 真题详练+考点+拓展练习(学生版+解析版) .pdf VIP
- 衍生金融工具会计问题的深度剖析与优化路径.docx VIP
- 初中音乐教学课件走进京剧.ppt VIP
- 南网新能源校招笔试题目及答案.doc VIP
- 毕业研究生登记表(适用于江苏省).doc VIP
- 高中语文《勾践灭吴》课件.ppt
- 省级优秀课件浙江摄影版(三起)(2020)小学信息技术五年级上册第9课 用图表呈现数据.pptx VIP
原创力文档


文档评论(0)