类如何去实现接口


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

面试题 相关文章推荐
说出一些常用的类,包,接口
Sep 22 面试题
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
Jul 17 面试题
简述synchronized和java.util.concurrent.locks.Lock的异同
Dec 08 面试题
经典C++面试题一
Nov 06 面试题
武汉英思工程科技有限公司–ORACLE面试测试题目
Apr 30 面试题
Shell编程面试题
May 29 面试题
国外软件测试工程师面试题
Dec 09 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
Nov 04 面试题
EJB2和EJB3在架构上的不同点
Sep 29 面试题
异步传递消息系统的作用
May 01 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
May 30 面试题
内部类的定义、种类以及优点
Oct 16 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
如何删除多级目录
2006/10/09 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
初步解析Python下的多进程编程
2015/04/28 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python验证码识别实例代码
2018/02/03 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
安装PyInstaller失败问题解决
2019/12/14 Python
Python安装OpenCV的示例代码
2020/03/05 Python
英国现代市场:ARKET
2019/04/10 全球购物
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
医学生个人求职信范文
2013/09/24 职场文书
销售经理岗位职责
2014/03/16 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
小学教师自我评价
2015/03/04 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书