接口中的方法可以是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开发的一般流程
Aug 13 面试题
如何减少垃圾回收让内存更加有效使用
Oct 18 面试题
Weblogc domain问题
Jan 27 面试题
AOP的定义以及作用
Sep 08 面试题
JAVA代码查错题
Oct 10 面试题
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
May 09 面试题
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
Oct 03 面试题
关于递归的一道.NET面试题
May 12 面试题
如何保障Web服务器安全
May 05 面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 面试题
Linux上比较文件的命令都有哪些
Feb 24 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
Mar 05 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
2021年最新CPU天梯图
2021/03/04 数码科技
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
用PHP连mysql和oracle数据库性能比较
2006/10/09 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python xml解析实例详解
2016/11/14 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
python中栈的原理及实现方法示例
2019/11/27 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
交通专业个人自荐信格式
2013/09/23 职场文书
学校工作推荐信范文
2014/07/11 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
公司开业主持词
2015/07/02 职场文书
师德师风培训感言
2015/08/03 职场文书