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

面试题 相关文章推荐
mysql_pconnect()和mysql_connect()有什么区别
May 25 面试题
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
如何提高JDBC的性能
Apr 30 面试题
如何删除一个表里面的重复行
Jul 13 面试题
北京-环亚运商测试题.net程序员初步测试题
May 28 面试题
成都思必达公司C#程序员招聘面试题
Jun 26 面试题
Linux的主要特性
Oct 06 面试题
软件测试工程师面试问题精选
Oct 28 面试题
如何提高MySql的安全性
Jun 19 面试题
什么是Web Service?
Jul 25 面试题
类的返射机制中的包及核心类
Sep 12 面试题
四种会话跟踪技术
May 20 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
php&java(二)
2006/10/09 PHP
10条PHP高级技巧[修正版]
2011/08/02 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
浅析JavaScript动画
2015/06/10 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
js实现表格筛选功能
2017/01/18 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
Three.js基础学习之场景对象
2017/09/27 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
解决PyCharm import torch包失败的问题
2018/10/13 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
创业者是否需要商业计划书?
2014/02/07 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
产品发布会策划方案
2014/05/12 职场文书
理想演讲稿范文
2014/05/21 职场文书
微笑服务标语
2014/06/24 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle