类如何去实现接口


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

面试题 相关文章推荐
Web Service面试题:如何搭建Axis2的开发环境
Jun 20 面试题
JMS中Topic和Queue有什么区别
May 15 面试题
NULL是什么,它是怎么定义的
May 09 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
什么是.net
Aug 03 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
linux面试题参考答案(4)
Sep 21 面试题
介绍一下Python中webbrowser的用法
May 07 面试题
腾讯公司的一个sql题
Jan 22 面试题
编程输出如下图形
Nov 24 面试题
Java面试题:说出如下代码的执行结果
Oct 30 面试题
高级Java程序员面试题
Jun 23 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
利用Python实现命令行版的火车票查看器
2016/08/05 Python
Unicode和Python的中文处理
2017/03/19 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python tornado微信开发入门代码
2018/08/24 Python
OpenCV 边缘检测
2019/07/10 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
Django自带的用户验证系统实现
2020/12/18 Python
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
银行优秀员工事迹
2014/02/06 职场文书
文明班级建设方案
2014/05/15 职场文书
小学生植树节活动总结
2014/07/04 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
银行员工考核评语
2014/12/31 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python