接口中的方法可以是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和C++区别都有哪些
Mar 30 面试题
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
May 23 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
Oracle中delete,truncate和drop的区别
May 05 面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 面试题
shallow copy和deep copy的区别
May 09 面试题
Internet体系结构
Dec 21 面试题
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
Jun 07 面试题
Linux的文件类型
Jul 05 面试题
用Java语言将一个键盘输入的数字转化成中文输出
Jan 25 面试题
UNIX文件系统分类
Nov 11 面试题
Jar包的作用是什么
Mar 30 #面试题
请说出几个常用的异常类
Jan 08 #面试题
JNI的定义
Nov 25 #面试题
如何提高JDBC的性能
Apr 30 #面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
降低PHP Redis内存占用
2017/03/23 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
python小白学习包管理器pip安装
2020/06/09 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
python实现定时发送邮件
2020/12/23 Python
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
大四本科生的自我评价
2013/12/30 职场文书
关爱残疾人标语
2014/06/25 职场文书
土建技术员岗位职责
2015/04/11 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
灵能百分百第三季什么时候来?
2022/03/15 日漫
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang