类如何去实现接口


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

面试题 相关文章推荐
怎么处理XML的中文问题
Mar 26 面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 面试题
普天C++笔试题
Mar 20 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
写出一个方法实现冒泡排序
Jul 08 面试题
查询优化的一般准则有哪些
Mar 08 面试题
介绍一下.net和Java的特点和区别
Sep 26 面试题
.NET面试题:什么是反射
Sep 30 面试题
.NET是怎么支持多种语言的
Feb 24 面试题
shell程序中如何注释
Jan 28 面试题
软件测试工程师结构化面试题库
Nov 23 面试题
正隆泰信息技术有限公司上机题
Jun 14 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
PHP7新特性
2021/03/09 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
python 实现生成均匀分布的点
2019/12/05 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
信用卡工资证明范本
2014/10/17 职场文书
市场营销计划书
2015/01/17 职场文书
中秋节寄语2015
2015/03/24 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
2016公司年会通知范文
2015/04/25 职场文书
升职自荐书
2019/05/09 职场文书