类如何去实现接口


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 面试题
什么是serialVersionUID
Mar 04 面试题
.net笔试题
Mar 03 面试题
采用怎样的方法保证数据的完整性
Dec 02 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
如何保障Web服务器安全
May 05 面试题
进程的查看和调度分别使用什么命令
Dec 14 面试题
数字天堂软件测试面试题
Dec 23 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
Apr 13 面试题
介绍一些UNIX常用简单命令
Nov 11 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
Apr 10 面试题
异常和异常类的概念
Sep 12 #面试题
益模软件Java笔试题
Mar 27 #面试题
纬创Java面试题笔试题
Oct 02 #面试题
包装类的功能、种类、常用方法
Jan 27 #面试题
怎样声明接口
Sep 19 #面试题
群胜软件Java笔试题
Sep 29 #面试题
类、抽象类、接口的差异
Jun 13 #面试题
You might like
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
JavaScript单元测试ABC
2012/04/12 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
python如何实现内容写在图片上
2018/03/23 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Python 监测文件是否更新的方法
2019/06/10 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python中的全局变量如何理解
2020/06/04 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
Java程序员常见面试题
2015/07/16 面试题
房产销售经理职责
2013/12/20 职场文书
夜不归宿检讨书
2014/02/25 职场文书
保险公司开门红口号
2014/06/21 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
python spilt()分隔字符串的实现示例
2021/05/21 Python
python面向对象版学生信息管理系统
2021/06/24 Python
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers