类如何去实现接口


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面试题及答案一
Jun 18 面试题
Linux中如何设置Java环境变量(Ubuntu)
Jul 24 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
JRE、JDK、JVM之间的关系怎样
May 16 面试题
华为c/c++笔试题
Jan 25 面试题
必须要使用游标的SQL语句有那些
May 07 面试题
.net面试题
Sep 17 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
Jul 27 面试题
.NET初级开发工程师面试题(包括Javascript)
Aug 22 面试题
Linux管理员面试经常问道的相关命令
Dec 12 面试题
25道Java面试题集合
May 21 面试题
Java Servlet的主要功能和作用是什么
Feb 14 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
javascript中数组的常用算法深入分析
2019/03/12 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
Python常用知识点汇总
2016/05/08 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
Python页面加载的等待方式总结
2021/02/28 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
高中的自我鉴定
2013/12/16 职场文书
简单英文演讲稿
2014/01/01 职场文书
奠基仪式主持词
2014/03/20 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
通知函的格式
2015/04/27 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书