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

面试题 相关文章推荐
广州御银科技股份有限公司试卷(C++)
Nov 04 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
C++面试题:关于链表和指针
Jun 05 面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 面试题
Oracle中delete,truncate和drop的区别
May 05 面试题
北京天润融通.net面试题笔试题
Feb 20 面试题
关于.NET, HTML的五个问题
Aug 29 面试题
Linux开机引导的步骤是什么
Feb 26 面试题
介绍一下Linux中的链接
May 28 面试题
EJB的几种类型
Aug 15 面试题
Ejb技术面试题
Apr 29 面试题
J2EE模式面试题
Oct 11 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
Python中list初始化方法示例
2016/09/18 Python
Python正则表达式和元字符详解
2018/11/29 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
金鑫耀Java笔试题
2014/09/06 面试题
日本语毕业生自荐信
2014/02/01 职场文书
婚内房产协议书范本
2014/10/02 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
领导工作表现评语
2015/01/04 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
MySQL注入基础练习
2021/05/30 MySQL