接口中的方法可以是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...

面试题 相关文章推荐
PHP经典面试题
Sep 03 面试题
Order by的几种用法
Jun 16 面试题
某公司的.net工程师面试题笔试题
Nov 22 面试题
.NET面试问题集
Dec 08 面试题
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
Jun 07 面试题
说出你对remoting 和webservice的理解和应用
Jun 08 面试题
Shell编程面试题
May 30 面试题
linux面试题参考答案(4)
Jan 28 面试题
软件测试面试题
Jan 05 面试题
Python面试题集
Mar 08 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
Oct 17 面试题
Ruby如何创建一个线程
Mar 10 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
php操作mongoDB实例分析
2014/12/29 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python中的lambda表达式用法详解
2016/06/22 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
对Python3中的input函数详解
2018/04/22 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
python excel转换csv代码实例
2019/08/26 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
行政经理岗位职责
2013/11/09 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
2015年服务员工作总结
2015/04/08 职场文书
专职安全员岗位职责
2015/04/11 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
小学校园广播稿
2015/08/18 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js