类如何去实现接口


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

面试题 相关文章推荐
htmlentities() 和 htmlspecialchars()有什么区别
Jul 01 面试题
同步和异步有何异同,在什么情况下分别使用他们?举例说明
Feb 27 面试题
金蝶的一道SQL笔试题
Dec 18 面试题
一些高难度的SQL面试题
Nov 29 面试题
一些.net面试题
Oct 06 面试题
shallow copy和deep copy的区别
May 09 面试题
Linux中如何用命令创建目录
Dec 02 面试题
Linux上比较文件的命令都有哪些
Feb 24 面试题
软件测试有哪些?什么是配置项?
Feb 12 面试题
主要的Ajax框架都有什么
Nov 14 面试题
Python里面如何拷贝一个对象
Feb 17 面试题
介绍一下如何优化MySql
Dec 20 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
世界上第一台立体声收音机
2021/03/01 无线电
php中处理模拟rewrite 效果
2006/12/09 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
php将html转为图片的实现方法
2017/05/19 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue项目实现多语言切换的思路
2020/09/17 Javascript
动态创建类实例代码
2009/10/07 Python
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python聊天室程序(基础版)
2018/04/01 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
岗位职责风险防控
2014/02/18 职场文书
村干部培训班主持词
2014/03/28 职场文书
团日活动总结书格式
2014/05/08 职场文书
金融保险专业求职信
2014/09/03 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
2015入党自荐书范文
2015/03/05 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
MongoDB使用场景总结
2022/02/24 MongoDB
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript