接口中的方法可以是abstract的吗


Posted in 面试题 onJuly 23, 2015
Interface没有方法体,但是如果interface中有abstract接口,那么这个interface就必须为abstract 例子:
abstract public interface IA {
public void run() ;
abstract public void setParams() ;
}
abstract public class CBase implements IA {
public CBase() {}
abstract public String[] getParams() { }
public void run() {
String[] s = getParams();
if (s != null && s.length() > 0) {
for (int i=0; i System.out.println(“s[" + i + "]:” + s[i]));
}
}
}
}
public class CSub entexted CBase {
public CSub() {}
protected String[] s ;
public String[] getParams() {
return this.s ;
}
}
public class DSubSub extends CSub {
public DSubSub() {}
public void setParams() {
this.s = {“abcd”, “efg”} ;
}
public static void main(String[] args) {
IA dsubsub = new DSubSub() ;
dsubsub.run() ;
}
}

输出结果:
s[0]:abcd
s[1]:efg
CBase 类是所有电器产品总类,其中的run()函数负责输出某种电器产品的库存总价值。
CSub 类是所有小家电产品类,其中getParams()函数负责得到某种小家电产品库存总价值。
DSubSub类是小家电中的电吹风机类,其中的setParams()函数负责电吹风机的特有计算库存产品价值的方式。
当每一类电器产品都有自己不同的价值计算方式时,使用这种构架就可以很好的分类计算。
而这些业务逻辑实现类在三层构架中是不提供给客户端调用的,提供给客户端的仅仅是Interface,那么这种设计就是相当必要的。

Tags in this post...

面试题 相关文章推荐
如何让Java程序执行效率更高
Jun 25 面试题
关键字final的用法
Oct 02 面试题
2019年Java面试必问之经典试题
Sep 12 面试题
求网格中的黑点分布
Nov 06 面试题
如何判断计算机可能已经中马
Mar 22 面试题
如何选择使用结构还是类
May 30 面试题
Can a struct inherit from another class? (结构体能继承类吗)
Jul 22 面试题
P/Invoke是什么
Jul 31 面试题
软件设计的目标是什么
Dec 04 面试题
Prototype是怎么扩展DOM的
Oct 01 面试题
Weblogic和WebSphere不同特点
May 09 面试题
高级Java程序员面试题
Jun 23 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
php全局变量和类配合使用深刻理解
2013/06/05 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
python 调用c语言函数的方法
2017/09/29 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
高二历史教学反思
2014/01/25 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
市政管理求职信范文
2014/05/07 职场文书
毕业大学生自荐信
2014/06/17 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
学校百日安全活动总结
2015/05/07 职场文书
小学中队委竞选稿
2015/11/20 职场文书
详解Vue的options
2021/05/15 Vue.js