- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实训接口
实训 接口
一、实训目标
掌握接口应用
二、涉及知识点
抽象类的语法格式如下:
public abstract class ClassName {
abstract void 方法名称(参数);
//非抽象方法的实现代码
}
接口语法格式如下:
public interface 接口名称
{
//声明变量、方法
}
要让一个类遵循某组特地的接口需要使用 implements 关键字,具体格式如
下:
public class 类名 implements 接口名称[,接口名称] {
//类的实现代码
}
抽象类和接口的区别
语法层面上的区别如下:
Email 第 1 页,共 3 页
抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方
法;
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public
static final 类型的;
接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静
态方法;
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
设计层面上的区别如下:
抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类
是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)
进行抽象。举个简单的例子,飞机和鸟是不同类的事物,但是它们都有一个
共性,就是都会飞。那么在设计的时候,可以将飞机设计为一个类Airplane ,
将鸟设计为一个类Bird,但是不能将 飞行 这个特性也设计为类,因此它只
是一个行为特性,并不是对一类事物的抽象描述。此时可以将 飞行 设计为
一个接口Fly,包含方法fly( ) ,然后Airplane 和Bird 分别根据自己的需要实
现Fly 这个接口。然后至于有不同种类的飞机,比如战斗机、民用飞机等直
接继承Airplane 即可,对于鸟也是类似的,不同种类的鸟直接继承Bird 类
即可。从这里可以看出,继承是一个 是不是的关系,而 接口 实现则是
有没有的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,
而接口实现则是有没有、具备不具备的关系,比如鸟是否能飞(或者是否具
备飞行这个特点),能飞行则可以实现这个接口,不能飞行就不实现这个接
口。
设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口
是一种行为规范,它是一种辐射式设计。什么是模板式设计?最简单例子,
大家都用过ppt 里面的模板,如果用模板A 设计了ppt B 和ppt C,ppt B 和
ppt C 公共的部分就是模板A 了,如果它们的公共部分需要改动,则只需要
改动模板A 就可以了,不需要重新对ppt B 和ppt C 进行改动。而辐射式设
计,比如某个电梯都装了某种报警器,一旦要更新报警器,就必须全部更新。
Email 第 2 页,共 3 页
也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具
体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,
则所有实现这个接口的类都必须进行相应的改动。
三实训内容
在程序中有一个自定义接口Age 源代码如下,请在类AgeClass 中编写代码计算
一个人年龄。
public interface Age {
//定义接口
int year = 2004;
int age();
void output();
}
在程序中声明一个自定义接口ComputerWeight 和ComputerCompany ,封装一
类对象 FlashMemory 实现上述两类接口,用一个程序执行入口 ComputerTest
测试上述对象。
public interface ComputerWeight{
double computerWeight();
void printName();
double printPrice();
}
public inter
文档评论(0)