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

面试题 相关文章推荐
纬创Java面试题笔试题
Oct 02 面试题
C语言面试题
Oct 30 面试题
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
May 29 面试题
关于Assembly命名空间的三个面试题
Jul 23 面试题
请解释流与文件有什么不同
Jul 29 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
Mar 27 面试题
C#面试常见问题
Feb 25 面试题
C#中有没有运算符重载?能否使用指针?
May 05 面试题
传统软件工程与面向对象的软件工程有什么区别
May 31 面试题
编程用JAVA解析XML的方式
Jul 07 面试题
什么是抽象
Dec 13 面试题
shell程序如何生命变量?shell变量是弱变量吗?
Nov 10 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
php中in_array函数用法分析
2014/11/15 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
js实现列表按字母排序
2020/08/11 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Python编程之多态用法实例详解
2015/05/19 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python如何求圆的面积
2020/07/01 Python
Keras loss函数剖析
2020/07/06 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
自我鉴定注意事项
2014/01/19 职场文书
公证书标准格式
2014/04/10 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
无犯罪记录证明
2014/09/19 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
捐资助学感谢信
2015/01/21 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
学习nginx基础知识
2021/09/04 Servers
德劲DE1105机评
2022/04/05 无线电
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis