类如何去实现接口


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...

面试题 相关文章推荐
PHP如何自定义函数
Sep 16 面试题
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
函数指针的定义是什么
Aug 14 面试题
西部世纪面试题
Dec 05 面试题
网络体系结构及协议的定义
Mar 13 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
如何查找网页漏洞
Jun 22 面试题
sort命令的作用和用法
Aug 25 面试题
怎样声明一个匿名的内部类
Jun 01 面试题
北京振戎融通Java面试题
Sep 03 面试题
J2EE模式面试题
Oct 11 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
Python实现从url中提取域名的几种方法
2014/09/26 Python
用Python给文本创立向量空间模型的教程
2015/04/23 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
实习生自荐信范文
2013/11/13 职场文书
三查三看党性分析材料
2014/02/18 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
个人委托书如何写
2014/09/25 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
财政局个人年终总结
2015/03/03 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL