类如何去实现接口


Posted in 面试题 onDecember 19, 2013
接口规定了“原型”,具体实现则由类来完成,格式如下:
[修饰符] class 类名[extends 基类] implements 接口1[,接口2,…]{
…… //包含对接口的所有方法的实现
}
说明:
一个类实现接口时,必须实现接口中的所有抽象方法;否则,该类应声明为抽象类;
类在实现接口的抽象方法时,必须使用完全相同的方法头,例如:接口中的方法声明时通常省略public修饰符,但在实现抽象方法时必须显式书写public修饰符;
一个类可以实现多个接口,从而达到多重继承的目的;
多个无关的类可以实现同一个接口;
与抽象类相比,使用接口的好处是不相关类实现的相同行为,而不需要考虑这些类之间的层次关系。
例如:
//接口应用例子
interface Runner { //接口1
public void run();
}
interface Swimmer { //接口2
public void swim();
}
abstract class Animal { //抽象类,去掉关键字abstract是否可行?
public abstract void eat();
}

class Person extends Animal implements Runner,Swimmer { //继承类,实现接口
public void run() {
System.out.println("我是飞毛腿,跑步速度极快!");
}
public void swim(){
System.out.println("我游泳技术很好,会蛙泳、自由泳、仰泳、蝶泳...");
}
public void eat(){
System.out.println("我牙好胃好,吃啥都香!");
}
}
public class InterfaceTest{
public void m1(Runner f) { f.run(); } //接口作参数,下同
public void m2(Swimmer s) {s.swim();}
public void m3(Animal a) {a.eat();}

public static void main(String args[]){
InterfaceTest t = new InterfaceTest();
Person p = new Person();
t.m1(p); //接口回调,下同
t.m2(p);
t.m3(p);
}
}

Tags in this post...

面试题 相关文章推荐
super()与this()的区别
Jan 17 面试题
SQL面试题
Dec 09 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
介绍一下常见的木马种类
Nov 15 面试题
非常详细的C#面试题集
Jul 13 面试题
sealed修饰符是干什么的
Oct 23 面试题
介绍一下linux的文件权限
Feb 15 面试题
linux面试题参考答案(5)
Sep 01 面试题
什么是GWT的Entry Point
Aug 16 面试题
一套中级Java程序员笔试题
Jan 14 面试题
Structs界面控制层技术
Oct 11 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
利用python批量检查网站的可用性
2016/09/09 Python
Python如何为图片添加水印
2016/11/25 Python
Python 基础知识之字符串处理
2017/01/06 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
如何通过Python实现标签云算法
2019/07/02 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
村优秀党员事迹材料
2014/01/15 职场文书
有趣的广告词
2014/03/18 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
2015年工商所工作总结
2015/05/21 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python
Hive日期格式转换方法总结
2022/06/25 数据库