接口中的方法可以是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两种查询函数array/row的区别
Jun 03 面试题
介绍一下SQL中union,intersect和minus
Apr 05 面试题
渗透攻击的测试步骤
Jun 07 面试题
局域网标准
Sep 10 面试题
介绍一下常见的木马种类
Nov 15 面试题
一套C#面试题
Oct 09 面试题
几个Linux面试题笔试题
Aug 01 面试题
什么是组件架构
May 15 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
请问软件开发中的设计模式你会使用哪些
May 13 面试题
与C++相比,Java中的数组有什么不同
Mar 25 面试题
介绍一下你对SOA的认识
Apr 24 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
php正则校验用户名介绍
2008/07/19 PHP
php记录日志的实现代码
2011/08/08 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
php给数组赋值的实例方法
2019/09/26 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
python 搜索大文件的实例代码
2019/07/08 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
python 如何停止一个死循环的线程
2020/11/24 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
上班离岗检讨书
2014/01/27 职场文书
转预备党员政审材料
2014/02/06 职场文书
2014年安全生产责任书
2014/07/22 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
工作失职检讨书500字
2014/10/17 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript
python垃圾回收机制原理分析
2022/04/13 Python