- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 Java中的接口
【本节要点】
Java接口定义
Java接口实现
Java接口回调
为什么引入接口?
我们来看一个类
class A {
private int a;
public int getA() {
return a;
}
}
@这个类的属性是私有的,外界不能访问,而外界可以通过公有方法来访问这个类。我们说一个类的公有方法就是这个类的对外接口。
@一个类的属性都是私有的,方法大多是公有的。外界只能过个这些公有方法来访问类。这也是Java封装性的体现。如果一个类没有公有属性, 也没有公有方法,这个类就是无法使用的类了。所以我们需要为一个类提供对外接口。
4
生活中的接口
电脑主板上的PCI插槽的规范就类似于Java接口
每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的
主板
5
什么是Java接口
一个Java接口是一些方法特征的集合,但没有方法的实现
public interface PCI { public void start();
public void stop();}
class SoundCard implements PCI {
public void start() { System.out.println(Du du...); } public void stop() { System.out.println(Sound stop!); }}
Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为
这是Java接口,相当于主板上的PCI插槽的规范
class NetworkCard implements PCI {
public void start() { System.out.println(Send...); } public void stop() { System.out.println(Network stop!); }}
声卡、网卡都实现了PCI插槽的规范,但行为完全不同
关于接口
@接口提供方法声明和方法实现相分离的制,一个接口可以被多个类实现,使多个类之间表现出不同的行为。接口中声明的抽象方法在实现接口的多个类中表现出多态性。
@接口也是一种引用数据类型,声明一个接口I就是定义了一种数据类型,该类型的值集为所有实现接口的类及其子类实例,该类型的所有操作集为接口I中声明的所有方法。
4.1.1 接口的定义
Java中声明接口的语法如下:
[public] interface接口名[extends父接口名列表] //可以有多个
{ //接口体
//常量域声明
[public] [static] [final] 域类型域名=常量值;
……
//抽象方法声明
[public] [abstract] [native] 返回值方法名(参数列表)[throw 异常列表];
……
}
一个类只能有一个父类,但是类可以同时实现若干个接口。这种情况下如果把接口理解成特殊的类,那么这个类利用接口实际上就获得了多个父类,即实现了多重继承。
4.1.1接口定义
@接口是一组抽象方法,常量和内嵌类型的集合。没有具体实现,不能创建实例。
@只是一种规范/声明/标准,没方法,只有被类实现后才有意义。同时,实现接口的非抽象类必须实现所有指定接口中的所有抽象方法。
4.1.1 接口的定义
注意以下几点:
(1)在Java中接口是一种专门的类型。用interface关键字定义接口。
(2)接口中只能定义抽象方法,故不能包含构造方法。不能有方法体,所以创建实例。
(3)接口的访问控制权限一定是public修饰的
(3)接口中可以定义变量,但实际上是static final修饰的常量。不能声明实例成员变量。
(4)接口中不能定义静态方法。 实际就是一种供外部访问的公有方法。
10
练习
public interface Introduceable {
public String detail();
public void introduction(){
detail();
}
private void showMessage();
void speak();
}
Java接口中的方法必须是public
Java接口中不能有方法体实现
编译器会自动加上public修饰符
请指出下列Java
您可能关注的文档
- 病毒与细胞相互作用.ppt
- 病症培训教材.ppt
- 病理学第一章第一二节细胞和组织的适应和损伤.ppt
- 癌症深度科普.ppt
- 白内障的早期预防及治疗方法(一).ppt
- 白国周班组管理法.ppt
- 白杨树的外形.ppt
- 白癜风必须知道的一些知识.ppt
- 登革热及其防治(高一10班)1.ppt
- 白银版徐海波专业资料【企业QQ】.ppt
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)